{"abstract":"A seven-point defeat earns no losing bonus.","category":"Sports scoring and tiebreakers","checks":8,"contract":"Rugby union league points. results rows are [team, tries, score, opponent, opp_tries, opp_score]. Win 4 points, draw 2, loss 0. A try bonus point is earned by any team scoring 4 or more tries, and a losing bonus point by a team that loses by 7 points or fewer (both can apply to a loser). Rank by points, then wins, then points difference, then name. Return [team, points, wins, points difference] rows for teams that appear.","evaluation_group":"w2-sports-scoring-rugby-bonus-point-table","failed_approach":"Using the older five-point window still denies bonuses for six- and seven-point defeats.","family":"w2-sports-scoring-rugby-bonus-point-table-losing-bonus-margin","id":"FA-84046","implementations":{"attempt":{"sha256":"a3d1e53bdc84f924b6da0858c14a62ea1bcb00e37875076b2ed64ff0d6dcd2dd","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(results):\n    table = {}\n    for t1, tr1, s1, t2, tr2, s2 in results:\n        for team, tries, s, o in ((t1, tr1, s1, s2), (t2, tr2, s2, s1)):\n            row = table.setdefault(team, [0, 0, 0])\n            if s > o:\n                row[0] += 4\n                row[1] += 1\n            elif s == o:\n                row[0] += 2\n            if tries >= 4:\n                row[0] += 1\n            if s < o and o - s <= 5:\n                row[0] += 1\n            row[2] += s - o\n    order = sorted(table, key=lambda t: (-table[t][0], -table[t][1], -table[t][2], t))\n    return [[t] + table[t] for t in order]\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 plain win',\n   ([['Bath', 2, 20, 'Leeds', 1, 10]],),\n   [['Bath', 4, 1, 10], ['Leeds', 0, 0, -10]]),\n  ('boundary losing by seven',\n   ([['Bath', 1, 17, 'Leeds', 2, 10]],),\n   [['Bath', 4, 1, 7], ['Leeds', 1, 0, -7]]),\n  ('boundary four tries in defeat',\n   ([['Bath', 3, 30, 'Leeds', 4, 24]],),\n   [['Bath', 4, 1, 6], ['Leeds', 2, 0, -6]]),\n  ('control draw', ([['Bath', 1, 10, 'Leeds', 1, 10]],), [['Bath', 2, 0, 0], ['Leeds', 2, 0, 0]]),\n  ('boundary losing by eight',\n   ([['Sale', 2, 18, 'Wasps', 1, 10]],),\n   [['Sale', 4, 1, 8], ['Wasps', 0, 0, -8]]),\n  ('regression: losing bonus margin',\n   ([['Sale', 5, 22, 'Leeds', 4, 15], ['Bath', 3, 20, 'Leeds', 5, 15]],),\n   [['Sale', 5, 1, 7], ['Bath', 4, 1, 5], ['Leeds', 4, 0, -12]]),\n  ('variant scenario 1',\n   ([['Leeds', 4, 30, 'Sale', 6, 24],\n     ['Bath', 6, 22, 'Leeds', 5, 5],\n     ['Bath', 3, 12, 'Leeds', 0, 20]],),\n   [['Leeds', 10, 2, -3], ['Bath', 5, 1, 9], ['Sale', 2, 0, -6]]),\n  ('variant scenario 2',\n   ([['Leeds', 4, 33, 'Sale', 1, 7], ['Wasps', 5, 20, 'Sale', 5, 12]],),\n   [['Leeds', 5, 1, 26], ['Wasps', 5, 1, 8], ['Sale', 1, 0, -34]])],\n [('control plain win',\n   ([['Bath', 2, 20, 'Leeds', 1, 10]],),\n   [['Bath', 4, 1, 10], ['Leeds', 0, 0, -10]]),\n  ('boundary losing by seven',\n   ([['Bath', 1, 17, 'Leeds', 2, 10]],),\n   [['Bath', 4, 1, 7], ['Leeds', 1, 0, -7]]),\n  ('boundary four tries in defeat',\n   ([['Bath', 3, 30, 'Leeds', 4, 24]],),\n   [['Bath', 4, 1, 6], ['Leeds', 2, 0, -6]]),\n  ('control draw', ([['Bath', 1, 10, 'Leeds', 1, 10]],), [['Bath', 2, 0, 0], ['Leeds', 2, 0, 0]]),\n  ('boundary losing by eight',\n   ([['Sale', 2, 18, 'Wasps', 1, 10]],),\n   [['Sale', 4, 1, 8], ['Wasps', 0, 0, -8]]),\n  ('regression: losing bonus margin',\n   ([['Wasps', 4, 24, 'Leeds', 4, 15],\n     ['Wasps', 4, 5, 'Bath', 6, 24],\n     ['Leeds', 2, 12, 'Wasps', 2, 5],\n     ['Wasps', 5, 30, 'Leeds', 1, 30],\n     ['Leeds', 1, 3, 'Sale', 0, 24]],),\n   [['Wasps', 10, 1, -17], ['Leeds', 7, 1, -23], ['Bath', 5, 1, 19], ['Sale', 4, 1, 21]]),\n  ('variant scenario 1',\n   ([['Wasps', 5, 22, 'Sale', 0, 27], ['Sale', 1, 33, 'Bath', 5, 24]],),\n   [['Sale', 8, 2, 14], ['Wasps', 2, 0, -5], ['Bath', 1, 0, -9]]),\n  ('variant scenario 2',\n   ([['Leeds', 1, 20, 'Bath', 5, 17], ['Leeds', 0, 30, 'Wasps', 4, 24]],),\n   [['Leeds', 8, 2, 9], ['Bath', 2, 0, -3], ['Wasps', 2, 0, -6]])],\n [('control plain win',\n   ([['Bath', 2, 20, 'Leeds', 1, 10]],),\n   [['Bath', 4, 1, 10], ['Leeds', 0, 0, -10]]),\n  ('boundary losing by seven',\n   ([['Bath', 1, 17, 'Leeds', 2, 10]],),\n   [['Bath', 4, 1, 7], ['Leeds', 1, 0, -7]]),\n  ('boundary four tries in defeat',\n   ([['Bath', 3, 30, 'Leeds', 4, 24]],),\n   [['Bath', 4, 1, 6], ['Leeds', 2, 0, -6]]),\n  ('control draw', ([['Bath', 1, 10, 'Leeds', 1, 10]],), [['Bath', 2, 0, 0], ['Leeds', 2, 0, 0]]),\n  ('boundary losing by eight',\n   ([['Sale', 2, 18, 'Wasps', 1, 10]],),\n   [['Sale', 4, 1, 8], ['Wasps', 0, 0, -8]]),\n  ('regression: losing bonus margin',\n   ([['Sale', 6, 22, 'Leeds', 4, 7],\n     ['Sale', 1, 5, 'Leeds', 2, 22],\n     ['Sale', 5, 17, 'Wasps', 6, 24],\n     ['Wasps', 1, 15, 'Sale', 3, 30],\n     ['Wasps', 4, 7, 'Sale', 4, 27]],),\n   [['Sale', 16, 3, 26], ['Wasps', 6, 1, -28], ['Leeds', 5, 1, 2]]),\n  ('variant scenario 1',\n   ([['Bath', 0, 22, 'Wasps', 5, 3], ['Wasps', 4, 12, 'Sale', 6, 15]],),\n   [['Sale', 5, 1, 3], ['Bath', 4, 1, 19], ['Wasps', 3, 0, -22]]),\n  ('variant scenario 2',\n   ([['Sale', 1, 3, 'Bath', 0, 22], ['Wasps', 0, 22, 'Leeds', 6, 5]],),\n   [['Bath', 4, 1, 19], ['Wasps', 4, 1, 17], ['Leeds', 1, 0, -17], ['Sale', 0, 0, -19]])],\n [('control plain win',\n   ([['Bath', 2, 20, 'Leeds', 1, 10]],),\n   [['Bath', 4, 1, 10], ['Leeds', 0, 0, -10]]),\n  ('boundary losing by seven',\n   ([['Bath', 1, 17, 'Leeds', 2, 10]],),\n   [['Bath', 4, 1, 7], ['Leeds', 1, 0, -7]]),\n  ('boundary four tries in defeat',\n   ([['Bath', 3, 30, 'Leeds', 4, 24]],),\n   [['Bath', 4, 1, 6], ['Leeds', 2, 0, -6]]),\n  ('control draw', ([['Bath', 1, 10, 'Leeds', 1, 10]],), [['Bath', 2, 0, 0], ['Leeds', 2, 0, 0]]),\n  ('boundary losing by eight',\n   ([['Sale', 2, 18, 'Wasps', 1, 10]],),\n   [['Sale', 4, 1, 8], ['Wasps', 0, 0, -8]]),\n  ('regression: losing bonus margin',\n   ([['Leeds', 1, 22, 'Wasps', 4, 27],\n     ['Leeds', 4, 5, 'Sale', 4, 22],\n     ['Leeds', 6, 7, 'Wasps', 2, 20],\n     ['Wasps', 3, 10, 'Sale', 4, 17],\n     ['Leeds', 4, 5, 'Sale', 2, 30],\n     ['Wasps', 5, 15, 'Sale', 4, 5],\n     ['Leeds', 5, 20, 'Sale', 0, 17],\n     ['Bath', 5, 12, 'Leeds', 3, 7]],),\n   [['Sale', 16, 3, 36], ['Wasps', 15, 3, 21], ['Leeds', 10, 1, -62], ['Bath', 5, 1, 5]]),\n  ('variant scenario 1',\n   ([['Bath', 1, 15, 'Leeds', 4, 5],\n     ['Sale', 0, 27, 'Leeds', 1, 15],\n     ['Sale', 4, 20, 'Leeds', 2, 20]],),\n   [['Sale', 7, 1, 12], ['Bath', 4, 1, 10], ['Leeds', 3, 0, -22]]),\n  ('variant scenario 2',\n   ([['Leeds', 6, 12, 'Wasps', 4, 22],\n     ['Bath', 5, 17, 'Wasps', 0, 3],\n     ['Wasps', 4, 17, 'Leeds', 3, 3]],),\n   [['Wasps', 10, 2, 10], ['Bath', 5, 1, 14], ['Leeds', 1, 0, -24]])],\n [('control plain win',\n   ([['Bath', 2, 20, 'Leeds', 1, 10]],),\n   [['Bath', 4, 1, 10], ['Leeds', 0, 0, -10]]),\n  ('boundary losing by seven',\n   ([['Bath', 1, 17, 'Leeds', 2, 10]],),\n   [['Bath', 4, 1, 7], ['Leeds', 1, 0, -7]]),\n  ('boundary four tries in defeat',\n   ([['Bath', 3, 30, 'Leeds', 4, 24]],),\n   [['Bath', 4, 1, 6], ['Leeds', 2, 0, -6]]),\n  ('control draw', ([['Bath', 1, 10, 'Leeds', 1, 10]],), [['Bath', 2, 0, 0], ['Leeds', 2, 0, 0]]),\n  ('boundary losing by eight',\n   ([['Sale', 2, 18, 'Wasps', 1, 10]],),\n   [['Sale', 4, 1, 8], ['Wasps', 0, 0, -8]]),\n  ('regression: losing bonus margin',\n   ([['Leeds', 3, 22, 'Bath', 2, 15],\n     ['Bath', 1, 27, 'Sale', 1, 7],\n     ['Sale', 2, 15, 'Leeds', 0, 15],\n     ['Leeds', 3, 3, 'Bath', 0, 24],\n     ['Bath', 3, 33, 'Leeds', 6, 10]],),\n   [['Bath', 13, 3, 57], ['Leeds', 7, 1, -37], ['Sale', 2, 0, -20]]),\n  ('variant scenario 1',\n   ([['Leeds', 1, 3, 'Sale', 2, 30],\n     ['Bath', 3, 17, 'Wasps', 6, 5],\n     ['Bath', 6, 27, 'Wasps', 5, 3],\n     ['Leeds', 5, 3, 'Wasps', 3, 10],\n     ['Bath', 4, 5, 'Wasps', 0, 22]],),\n   [['Bath', 10, 2, 19], ['Wasps', 10, 2, -12], ['Sale', 4, 1, 27], ['Leeds', 2, 0, -34]]),\n  ('variant scenario 2',\n   ([['Sale', 6, 27, 'Wasps', 3, 12],\n     ['Leeds', 6, 17, 'Sale', 5, 27],\n     ['Sale', 5, 22, 'Leeds', 3, 10],\n     ['Sale', 5, 22, 'Leeds', 5, 17],\n     ['Bath', 6, 17, 'Leeds', 0, 24],\n     ['Bath', 0, 22, 'Leeds', 0, 20],\n     ['Wasps', 0, 3, 'Sale', 1, 15]],),\n   [['Sale', 24, 5, 54], ['Leeds', 8, 1, -22], ['Bath', 6, 1, -5], ['Wasps', 0, 0, -27]])]]\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":"e64e1314407bd599137dcf80bebae74191c177f04dcbc739681e630e8fb06dce","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(results):\n    table = {}\n    for t1, tr1, s1, t2, tr2, s2 in results:\n        for team, tries, s, o in ((t1, tr1, s1, s2), (t2, tr2, s2, s1)):\n            row = table.setdefault(team, [0, 0, 0])\n            if s > o:\n                row[0] += 4\n                row[1] += 1\n            elif s == o:\n                row[0] += 2\n            if tries >= 4:\n                row[0] += 1\n            if s < o and o - s < 7:\n                row[0] += 1\n            row[2] += s - o\n    order = sorted(table, key=lambda t: (-table[t][0], -table[t][1], -table[t][2], t))\n    return [[t] + table[t] for t in order]\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 plain win',\n   ([['Bath', 2, 20, 'Leeds', 1, 10]],),\n   [['Bath', 4, 1, 10], ['Leeds', 0, 0, -10]]),\n  ('boundary losing by seven',\n   ([['Bath', 1, 17, 'Leeds', 2, 10]],),\n   [['Bath', 4, 1, 7], ['Leeds', 1, 0, -7]]),\n  ('boundary four tries in defeat',\n   ([['Bath', 3, 30, 'Leeds', 4, 24]],),\n   [['Bath', 4, 1, 6], ['Leeds', 2, 0, -6]]),\n  ('control draw', ([['Bath', 1, 10, 'Leeds', 1, 10]],), [['Bath', 2, 0, 0], ['Leeds', 2, 0, 0]]),\n  ('boundary losing by eight',\n   ([['Sale', 2, 18, 'Wasps', 1, 10]],),\n   [['Sale', 4, 1, 8], ['Wasps', 0, 0, -8]]),\n  ('regression: losing bonus margin',\n   ([['Sale', 5, 22, 'Leeds', 4, 15], ['Bath', 3, 20, 'Leeds', 5, 15]],),\n   [['Sale', 5, 1, 7], ['Bath', 4, 1, 5], ['Leeds', 4, 0, -12]]),\n  ('variant scenario 1',\n   ([['Leeds', 4, 30, 'Sale', 6, 24],\n     ['Bath', 6, 22, 'Leeds', 5, 5],\n     ['Bath', 3, 12, 'Leeds', 0, 20]],),\n   [['Leeds', 10, 2, -3], ['Bath', 5, 1, 9], ['Sale', 2, 0, -6]]),\n  ('variant scenario 2',\n   ([['Leeds', 4, 33, 'Sale', 1, 7], ['Wasps', 5, 20, 'Sale', 5, 12]],),\n   [['Leeds', 5, 1, 26], ['Wasps', 5, 1, 8], ['Sale', 1, 0, -34]])],\n [('control plain win',\n   ([['Bath', 2, 20, 'Leeds', 1, 10]],),\n   [['Bath', 4, 1, 10], ['Leeds', 0, 0, -10]]),\n  ('boundary losing by seven',\n   ([['Bath', 1, 17, 'Leeds', 2, 10]],),\n   [['Bath', 4, 1, 7], ['Leeds', 1, 0, -7]]),\n  ('boundary four tries in defeat',\n   ([['Bath', 3, 30, 'Leeds', 4, 24]],),\n   [['Bath', 4, 1, 6], ['Leeds', 2, 0, -6]]),\n  ('control draw', ([['Bath', 1, 10, 'Leeds', 1, 10]],), [['Bath', 2, 0, 0], ['Leeds', 2, 0, 0]]),\n  ('boundary losing by eight',\n   ([['Sale', 2, 18, 'Wasps', 1, 10]],),\n   [['Sale', 4, 1, 8], ['Wasps', 0, 0, -8]]),\n  ('regression: losing bonus margin',\n   ([['Wasps', 4, 24, 'Leeds', 4, 15],\n     ['Wasps', 4, 5, 'Bath', 6, 24],\n     ['Leeds', 2, 12, 'Wasps', 2, 5],\n     ['Wasps', 5, 30, 'Leeds', 1, 30],\n     ['Leeds', 1, 3, 'Sale', 0, 24]],),\n   [['Wasps', 10, 1, -17], ['Leeds', 7, 1, -23], ['Bath', 5, 1, 19], ['Sale', 4, 1, 21]]),\n  ('variant scenario 1',\n   ([['Wasps', 5, 22, 'Sale', 0, 27], ['Sale', 1, 33, 'Bath', 5, 24]],),\n   [['Sale', 8, 2, 14], ['Wasps', 2, 0, -5], ['Bath', 1, 0, -9]]),\n  ('variant scenario 2',\n   ([['Leeds', 1, 20, 'Bath', 5, 17], ['Leeds', 0, 30, 'Wasps', 4, 24]],),\n   [['Leeds', 8, 2, 9], ['Bath', 2, 0, -3], ['Wasps', 2, 0, -6]])],\n [('control plain win',\n   ([['Bath', 2, 20, 'Leeds', 1, 10]],),\n   [['Bath', 4, 1, 10], ['Leeds', 0, 0, -10]]),\n  ('boundary losing by seven',\n   ([['Bath', 1, 17, 'Leeds', 2, 10]],),\n   [['Bath', 4, 1, 7], ['Leeds', 1, 0, -7]]),\n  ('boundary four tries in defeat',\n   ([['Bath', 3, 30, 'Leeds', 4, 24]],),\n   [['Bath', 4, 1, 6], ['Leeds', 2, 0, -6]]),\n  ('control draw', ([['Bath', 1, 10, 'Leeds', 1, 10]],), [['Bath', 2, 0, 0], ['Leeds', 2, 0, 0]]),\n  ('boundary losing by eight',\n   ([['Sale', 2, 18, 'Wasps', 1, 10]],),\n   [['Sale', 4, 1, 8], ['Wasps', 0, 0, -8]]),\n  ('regression: losing bonus margin',\n   ([['Sale', 6, 22, 'Leeds', 4, 7],\n     ['Sale', 1, 5, 'Leeds', 2, 22],\n     ['Sale', 5, 17, 'Wasps', 6, 24],\n     ['Wasps', 1, 15, 'Sale', 3, 30],\n     ['Wasps', 4, 7, 'Sale', 4, 27]],),\n   [['Sale', 16, 3, 26], ['Wasps', 6, 1, -28], ['Leeds', 5, 1, 2]]),\n  ('variant scenario 1',\n   ([['Bath', 0, 22, 'Wasps', 5, 3], ['Wasps', 4, 12, 'Sale', 6, 15]],),\n   [['Sale', 5, 1, 3], ['Bath', 4, 1, 19], ['Wasps', 3, 0, -22]]),\n  ('variant scenario 2',\n   ([['Sale', 1, 3, 'Bath', 0, 22], ['Wasps', 0, 22, 'Leeds', 6, 5]],),\n   [['Bath', 4, 1, 19], ['Wasps', 4, 1, 17], ['Leeds', 1, 0, -17], ['Sale', 0, 0, -19]])],\n [('control plain win',\n   ([['Bath', 2, 20, 'Leeds', 1, 10]],),\n   [['Bath', 4, 1, 10], ['Leeds', 0, 0, -10]]),\n  ('boundary losing by seven',\n   ([['Bath', 1, 17, 'Leeds', 2, 10]],),\n   [['Bath', 4, 1, 7], ['Leeds', 1, 0, -7]]),\n  ('boundary four tries in defeat',\n   ([['Bath', 3, 30, 'Leeds', 4, 24]],),\n   [['Bath', 4, 1, 6], ['Leeds', 2, 0, -6]]),\n  ('control draw', ([['Bath', 1, 10, 'Leeds', 1, 10]],), [['Bath', 2, 0, 0], ['Leeds', 2, 0, 0]]),\n  ('boundary losing by eight',\n   ([['Sale', 2, 18, 'Wasps', 1, 10]],),\n   [['Sale', 4, 1, 8], ['Wasps', 0, 0, -8]]),\n  ('regression: losing bonus margin',\n   ([['Leeds', 1, 22, 'Wasps', 4, 27],\n     ['Leeds', 4, 5, 'Sale', 4, 22],\n     ['Leeds', 6, 7, 'Wasps', 2, 20],\n     ['Wasps', 3, 10, 'Sale', 4, 17],\n     ['Leeds', 4, 5, 'Sale', 2, 30],\n     ['Wasps', 5, 15, 'Sale', 4, 5],\n     ['Leeds', 5, 20, 'Sale', 0, 17],\n     ['Bath', 5, 12, 'Leeds', 3, 7]],),\n   [['Sale', 16, 3, 36], ['Wasps', 15, 3, 21], ['Leeds', 10, 1, -62], ['Bath', 5, 1, 5]]),\n  ('variant scenario 1',\n   ([['Bath', 1, 15, 'Leeds', 4, 5],\n     ['Sale', 0, 27, 'Leeds', 1, 15],\n     ['Sale', 4, 20, 'Leeds', 2, 20]],),\n   [['Sale', 7, 1, 12], ['Bath', 4, 1, 10], ['Leeds', 3, 0, -22]]),\n  ('variant scenario 2',\n   ([['Leeds', 6, 12, 'Wasps', 4, 22],\n     ['Bath', 5, 17, 'Wasps', 0, 3],\n     ['Wasps', 4, 17, 'Leeds', 3, 3]],),\n   [['Wasps', 10, 2, 10], ['Bath', 5, 1, 14], ['Leeds', 1, 0, -24]])],\n [('control plain win',\n   ([['Bath', 2, 20, 'Leeds', 1, 10]],),\n   [['Bath', 4, 1, 10], ['Leeds', 0, 0, -10]]),\n  ('boundary losing by seven',\n   ([['Bath', 1, 17, 'Leeds', 2, 10]],),\n   [['Bath', 4, 1, 7], ['Leeds', 1, 0, -7]]),\n  ('boundary four tries in defeat',\n   ([['Bath', 3, 30, 'Leeds', 4, 24]],),\n   [['Bath', 4, 1, 6], ['Leeds', 2, 0, -6]]),\n  ('control draw', ([['Bath', 1, 10, 'Leeds', 1, 10]],), [['Bath', 2, 0, 0], ['Leeds', 2, 0, 0]]),\n  ('boundary losing by eight',\n   ([['Sale', 2, 18, 'Wasps', 1, 10]],),\n   [['Sale', 4, 1, 8], ['Wasps', 0, 0, -8]]),\n  ('regression: losing bonus margin',\n   ([['Leeds', 3, 22, 'Bath', 2, 15],\n     ['Bath', 1, 27, 'Sale', 1, 7],\n     ['Sale', 2, 15, 'Leeds', 0, 15],\n     ['Leeds', 3, 3, 'Bath', 0, 24],\n     ['Bath', 3, 33, 'Leeds', 6, 10]],),\n   [['Bath', 13, 3, 57], ['Leeds', 7, 1, -37], ['Sale', 2, 0, -20]]),\n  ('variant scenario 1',\n   ([['Leeds', 1, 3, 'Sale', 2, 30],\n     ['Bath', 3, 17, 'Wasps', 6, 5],\n     ['Bath', 6, 27, 'Wasps', 5, 3],\n     ['Leeds', 5, 3, 'Wasps', 3, 10],\n     ['Bath', 4, 5, 'Wasps', 0, 22]],),\n   [['Bath', 10, 2, 19], ['Wasps', 10, 2, -12], ['Sale', 4, 1, 27], ['Leeds', 2, 0, -34]]),\n  ('variant scenario 2',\n   ([['Sale', 6, 27, 'Wasps', 3, 12],\n     ['Leeds', 6, 17, 'Sale', 5, 27],\n     ['Sale', 5, 22, 'Leeds', 3, 10],\n     ['Sale', 5, 22, 'Leeds', 5, 17],\n     ['Bath', 6, 17, 'Leeds', 0, 24],\n     ['Bath', 0, 22, 'Leeds', 0, 20],\n     ['Wasps', 0, 3, 'Sale', 1, 15]],),\n   [['Sale', 24, 5, 54], ['Leeds', 8, 1, -22], ['Bath', 6, 1, -5], ['Wasps', 0, 0, -27]])]]\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":"32573c1913463646c178fe248c0776e37fb2a46edb54cfa29a2833f944c623d7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(results):\n    table = {}\n    for t1, tr1, s1, t2, tr2, s2 in results:\n        for team, tries, s, o in ((t1, tr1, s1, s2), (t2, tr2, s2, s1)):\n            row = table.setdefault(team, [0, 0, 0])\n            if s > o:\n                row[0] += 4\n                row[1] += 1\n            elif s == o:\n                row[0] += 2\n            if tries >= 4:\n                row[0] += 1\n            if s < o and o - s <= 7:\n                row[0] += 1\n            row[2] += s - o\n    order = sorted(table, key=lambda t: (-table[t][0], -table[t][1], -table[t][2], t))\n    return [[t] + table[t] for t in order]\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 plain win',\n   ([['Bath', 2, 20, 'Leeds', 1, 10]],),\n   [['Bath', 4, 1, 10], ['Leeds', 0, 0, -10]]),\n  ('boundary losing by seven',\n   ([['Bath', 1, 17, 'Leeds', 2, 10]],),\n   [['Bath', 4, 1, 7], ['Leeds', 1, 0, -7]]),\n  ('boundary four tries in defeat',\n   ([['Bath', 3, 30, 'Leeds', 4, 24]],),\n   [['Bath', 4, 1, 6], ['Leeds', 2, 0, -6]]),\n  ('control draw', ([['Bath', 1, 10, 'Leeds', 1, 10]],), [['Bath', 2, 0, 0], ['Leeds', 2, 0, 0]]),\n  ('boundary losing by eight',\n   ([['Sale', 2, 18, 'Wasps', 1, 10]],),\n   [['Sale', 4, 1, 8], ['Wasps', 0, 0, -8]]),\n  ('regression: losing bonus margin',\n   ([['Sale', 5, 22, 'Leeds', 4, 15], ['Bath', 3, 20, 'Leeds', 5, 15]],),\n   [['Sale', 5, 1, 7], ['Bath', 4, 1, 5], ['Leeds', 4, 0, -12]]),\n  ('variant scenario 1',\n   ([['Leeds', 4, 30, 'Sale', 6, 24],\n     ['Bath', 6, 22, 'Leeds', 5, 5],\n     ['Bath', 3, 12, 'Leeds', 0, 20]],),\n   [['Leeds', 10, 2, -3], ['Bath', 5, 1, 9], ['Sale', 2, 0, -6]]),\n  ('variant scenario 2',\n   ([['Leeds', 4, 33, 'Sale', 1, 7], ['Wasps', 5, 20, 'Sale', 5, 12]],),\n   [['Leeds', 5, 1, 26], ['Wasps', 5, 1, 8], ['Sale', 1, 0, -34]])],\n [('control plain win',\n   ([['Bath', 2, 20, 'Leeds', 1, 10]],),\n   [['Bath', 4, 1, 10], ['Leeds', 0, 0, -10]]),\n  ('boundary losing by seven',\n   ([['Bath', 1, 17, 'Leeds', 2, 10]],),\n   [['Bath', 4, 1, 7], ['Leeds', 1, 0, -7]]),\n  ('boundary four tries in defeat',\n   ([['Bath', 3, 30, 'Leeds', 4, 24]],),\n   [['Bath', 4, 1, 6], ['Leeds', 2, 0, -6]]),\n  ('control draw', ([['Bath', 1, 10, 'Leeds', 1, 10]],), [['Bath', 2, 0, 0], ['Leeds', 2, 0, 0]]),\n  ('boundary losing by eight',\n   ([['Sale', 2, 18, 'Wasps', 1, 10]],),\n   [['Sale', 4, 1, 8], ['Wasps', 0, 0, -8]]),\n  ('regression: losing bonus margin',\n   ([['Wasps', 4, 24, 'Leeds', 4, 15],\n     ['Wasps', 4, 5, 'Bath', 6, 24],\n     ['Leeds', 2, 12, 'Wasps', 2, 5],\n     ['Wasps', 5, 30, 'Leeds', 1, 30],\n     ['Leeds', 1, 3, 'Sale', 0, 24]],),\n   [['Wasps', 10, 1, -17], ['Leeds', 7, 1, -23], ['Bath', 5, 1, 19], ['Sale', 4, 1, 21]]),\n  ('variant scenario 1',\n   ([['Wasps', 5, 22, 'Sale', 0, 27], ['Sale', 1, 33, 'Bath', 5, 24]],),\n   [['Sale', 8, 2, 14], ['Wasps', 2, 0, -5], ['Bath', 1, 0, -9]]),\n  ('variant scenario 2',\n   ([['Leeds', 1, 20, 'Bath', 5, 17], ['Leeds', 0, 30, 'Wasps', 4, 24]],),\n   [['Leeds', 8, 2, 9], ['Bath', 2, 0, -3], ['Wasps', 2, 0, -6]])],\n [('control plain win',\n   ([['Bath', 2, 20, 'Leeds', 1, 10]],),\n   [['Bath', 4, 1, 10], ['Leeds', 0, 0, -10]]),\n  ('boundary losing by seven',\n   ([['Bath', 1, 17, 'Leeds', 2, 10]],),\n   [['Bath', 4, 1, 7], ['Leeds', 1, 0, -7]]),\n  ('boundary four tries in defeat',\n   ([['Bath', 3, 30, 'Leeds', 4, 24]],),\n   [['Bath', 4, 1, 6], ['Leeds', 2, 0, -6]]),\n  ('control draw', ([['Bath', 1, 10, 'Leeds', 1, 10]],), [['Bath', 2, 0, 0], ['Leeds', 2, 0, 0]]),\n  ('boundary losing by eight',\n   ([['Sale', 2, 18, 'Wasps', 1, 10]],),\n   [['Sale', 4, 1, 8], ['Wasps', 0, 0, -8]]),\n  ('regression: losing bonus margin',\n   ([['Sale', 6, 22, 'Leeds', 4, 7],\n     ['Sale', 1, 5, 'Leeds', 2, 22],\n     ['Sale', 5, 17, 'Wasps', 6, 24],\n     ['Wasps', 1, 15, 'Sale', 3, 30],\n     ['Wasps', 4, 7, 'Sale', 4, 27]],),\n   [['Sale', 16, 3, 26], ['Wasps', 6, 1, -28], ['Leeds', 5, 1, 2]]),\n  ('variant scenario 1',\n   ([['Bath', 0, 22, 'Wasps', 5, 3], ['Wasps', 4, 12, 'Sale', 6, 15]],),\n   [['Sale', 5, 1, 3], ['Bath', 4, 1, 19], ['Wasps', 3, 0, -22]]),\n  ('variant scenario 2',\n   ([['Sale', 1, 3, 'Bath', 0, 22], ['Wasps', 0, 22, 'Leeds', 6, 5]],),\n   [['Bath', 4, 1, 19], ['Wasps', 4, 1, 17], ['Leeds', 1, 0, -17], ['Sale', 0, 0, -19]])],\n [('control plain win',\n   ([['Bath', 2, 20, 'Leeds', 1, 10]],),\n   [['Bath', 4, 1, 10], ['Leeds', 0, 0, -10]]),\n  ('boundary losing by seven',\n   ([['Bath', 1, 17, 'Leeds', 2, 10]],),\n   [['Bath', 4, 1, 7], ['Leeds', 1, 0, -7]]),\n  ('boundary four tries in defeat',\n   ([['Bath', 3, 30, 'Leeds', 4, 24]],),\n   [['Bath', 4, 1, 6], ['Leeds', 2, 0, -6]]),\n  ('control draw', ([['Bath', 1, 10, 'Leeds', 1, 10]],), [['Bath', 2, 0, 0], ['Leeds', 2, 0, 0]]),\n  ('boundary losing by eight',\n   ([['Sale', 2, 18, 'Wasps', 1, 10]],),\n   [['Sale', 4, 1, 8], ['Wasps', 0, 0, -8]]),\n  ('regression: losing bonus margin',\n   ([['Leeds', 1, 22, 'Wasps', 4, 27],\n     ['Leeds', 4, 5, 'Sale', 4, 22],\n     ['Leeds', 6, 7, 'Wasps', 2, 20],\n     ['Wasps', 3, 10, 'Sale', 4, 17],\n     ['Leeds', 4, 5, 'Sale', 2, 30],\n     ['Wasps', 5, 15, 'Sale', 4, 5],\n     ['Leeds', 5, 20, 'Sale', 0, 17],\n     ['Bath', 5, 12, 'Leeds', 3, 7]],),\n   [['Sale', 16, 3, 36], ['Wasps', 15, 3, 21], ['Leeds', 10, 1, -62], ['Bath', 5, 1, 5]]),\n  ('variant scenario 1',\n   ([['Bath', 1, 15, 'Leeds', 4, 5],\n     ['Sale', 0, 27, 'Leeds', 1, 15],\n     ['Sale', 4, 20, 'Leeds', 2, 20]],),\n   [['Sale', 7, 1, 12], ['Bath', 4, 1, 10], ['Leeds', 3, 0, -22]]),\n  ('variant scenario 2',\n   ([['Leeds', 6, 12, 'Wasps', 4, 22],\n     ['Bath', 5, 17, 'Wasps', 0, 3],\n     ['Wasps', 4, 17, 'Leeds', 3, 3]],),\n   [['Wasps', 10, 2, 10], ['Bath', 5, 1, 14], ['Leeds', 1, 0, -24]])],\n [('control plain win',\n   ([['Bath', 2, 20, 'Leeds', 1, 10]],),\n   [['Bath', 4, 1, 10], ['Leeds', 0, 0, -10]]),\n  ('boundary losing by seven',\n   ([['Bath', 1, 17, 'Leeds', 2, 10]],),\n   [['Bath', 4, 1, 7], ['Leeds', 1, 0, -7]]),\n  ('boundary four tries in defeat',\n   ([['Bath', 3, 30, 'Leeds', 4, 24]],),\n   [['Bath', 4, 1, 6], ['Leeds', 2, 0, -6]]),\n  ('control draw', ([['Bath', 1, 10, 'Leeds', 1, 10]],), [['Bath', 2, 0, 0], ['Leeds', 2, 0, 0]]),\n  ('boundary losing by eight',\n   ([['Sale', 2, 18, 'Wasps', 1, 10]],),\n   [['Sale', 4, 1, 8], ['Wasps', 0, 0, -8]]),\n  ('regression: losing bonus margin',\n   ([['Leeds', 3, 22, 'Bath', 2, 15],\n     ['Bath', 1, 27, 'Sale', 1, 7],\n     ['Sale', 2, 15, 'Leeds', 0, 15],\n     ['Leeds', 3, 3, 'Bath', 0, 24],\n     ['Bath', 3, 33, 'Leeds', 6, 10]],),\n   [['Bath', 13, 3, 57], ['Leeds', 7, 1, -37], ['Sale', 2, 0, -20]]),\n  ('variant scenario 1',\n   ([['Leeds', 1, 3, 'Sale', 2, 30],\n     ['Bath', 3, 17, 'Wasps', 6, 5],\n     ['Bath', 6, 27, 'Wasps', 5, 3],\n     ['Leeds', 5, 3, 'Wasps', 3, 10],\n     ['Bath', 4, 5, 'Wasps', 0, 22]],),\n   [['Bath', 10, 2, 19], ['Wasps', 10, 2, -12], ['Sale', 4, 1, 27], ['Leeds', 2, 0, -34]]),\n  ('variant scenario 2',\n   ([['Sale', 6, 27, 'Wasps', 3, 12],\n     ['Leeds', 6, 17, 'Sale', 5, 27],\n     ['Sale', 5, 22, 'Leeds', 3, 10],\n     ['Sale', 5, 22, 'Leeds', 5, 17],\n     ['Bath', 6, 17, 'Leeds', 0, 24],\n     ['Bath', 0, 22, 'Leeds', 0, 20],\n     ['Wasps', 0, 3, 'Sale', 1, 15]],),\n   [['Sale', 24, 5, 54], ['Leeds', 8, 1, -22], ['Bath', 6, 1, -5], ['Wasps', 0, 0, -27]])]]\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-rugby-bonus-point-table-losing-bonus-margin","generated_at":"2026-09-29T14:50:27.215205+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Bonus-point tables are tight; each threshold changes qualification.","repair":"Award the losing bonus for a defeat by 7 or fewer points.","root_cause":"The losing bonus uses a strict margin below seven.","sha256":"d8d26f9b5d97680de1cbefcbef4e74ff81bf9b43248d2a6f267e426280951bda","title":"Losing bonus margin off by one · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.314,"exit_code":1,"observations":[{"actual":[["Bath",4,1,10],["Leeds",0,0,-10]],"check":"control plain win","expected":[["Bath",4,1,10],["Leeds",0,0,-10]],"passed":true},{"actual":[["Bath",4,1,7],["Leeds",0,0,-7]],"check":"boundary losing by seven","expected":[["Bath",4,1,7],["Leeds",1,0,-7]],"passed":false},{"actual":[["Bath",4,1,6],["Leeds",1,0,-6]],"check":"boundary four tries in defeat","expected":[["Bath",4,1,6],["Leeds",2,0,-6]],"passed":false},{"actual":[["Bath",2,0,0],["Leeds",2,0,0]],"check":"control draw","expected":[["Bath",2,0,0],["Leeds",2,0,0]],"passed":true},{"actual":[["Sale",4,1,8],["Wasps",0,0,-8]],"check":"boundary losing by eight","expected":[["Sale",4,1,8],["Wasps",0,0,-8]],"passed":true},{"actual":[["Sale",5,1,7],["Bath",4,1,5],["Leeds",3,0,-12]],"check":"regression: losing bonus margin","expected":[["Sale",5,1,7],["Bath",4,1,5],["Leeds",4,0,-12]],"passed":false},{"actual":[["Leeds",10,2,-3],["Bath",5,1,9],["Sale",1,0,-6]],"check":"variant scenario 1","expected":[["Leeds",10,2,-3],["Bath",5,1,9],["Sale",2,0,-6]],"passed":false},{"actual":[["Leeds",5,1,26],["Wasps",5,1,8],["Sale",1,0,-34]],"check":"variant scenario 2","expected":[["Leeds",5,1,26],["Wasps",5,1,8],["Sale",1,0,-34]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control plain win\", \"actual\": [[\"Bath\", 4, 1, 10], [\"Leeds\", 0, 0, -10]], \"expected\": [[\"Bath\", 4, 1, 10], [\"Leeds\", 0, 0, -10]], \"passed\": true}, {\"check\": \"boundary losing by seven\", \"actual\": [[\"Bath\", 4, 1, 7], [\"Leeds\", 0, 0, -7]], \"expected\": [[\"Bath\", 4, 1, 7], [\"Leeds\", 1, 0, -7]], \"passed\": false}, {\"check\": \"boundary four tries in defeat\", \"actual\": [[\"Bath\", 4, 1, 6], [\"Leeds\", 1, 0, -6]], \"expected\": [[\"Bath\", 4, 1, 6], [\"Leeds\", 2, 0, -6]], \"passed\": false}, {\"check\": \"control draw\", \"actual\": [[\"Bath\", 2, 0, 0], [\"Leeds\", 2, 0, 0]], \"expected\": [[\"Bath\", 2, 0, 0], [\"Leeds\", 2, 0, 0]], \"passed\": true}, {\"check\": \"boundary losing by eight\", \"actual\": [[\"Sale\", 4, 1, 8], [\"Wasps\", 0, 0, -8]], \"expected\": [[\"Sale\", 4, 1, 8], [\"Wasps\", 0, 0, -8]], \"passed\": true}, {\"check\": \"regression: losing bonus margin\", \"actual\": [[\"Sale\", 5, 1, 7], [\"Bath\", 4, 1, 5], [\"Leeds\", 3, 0, -12]], \"expected\": [[\"Sale\", 5, 1, 7], [\"Bath\", 4, 1, 5], [\"Leeds\", 4, 0, -12]], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [[\"Leeds\", 10, 2, -3], [\"Bath\", 5, 1, 9], [\"Sale\", 1, 0, -6]], \"expected\": [[\"Leeds\", 10, 2, -3], [\"Bath\", 5, 1, 9], [\"Sale\", 2, 0, -6]], \"passed\": false}, {\"check\": \"variant scenario 2\", \"actual\": [[\"Leeds\", 5, 1, 26], [\"Wasps\", 5, 1, 8], [\"Sale\", 1, 0, -34]], \"expected\": [[\"Leeds\", 5, 1, 26], [\"Wasps\", 5, 1, 8], [\"Sale\", 1, 0, -34]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.167,"exit_code":1,"observations":[{"actual":[["Bath",4,1,10],["Leeds",0,0,-10]],"check":"control plain win","expected":[["Bath",4,1,10],["Leeds",0,0,-10]],"passed":true},{"actual":[["Bath",4,1,7],["Leeds",0,0,-7]],"check":"boundary losing by seven","expected":[["Bath",4,1,7],["Leeds",1,0,-7]],"passed":false},{"actual":[["Bath",4,1,6],["Leeds",2,0,-6]],"check":"boundary four tries in defeat","expected":[["Bath",4,1,6],["Leeds",2,0,-6]],"passed":true},{"actual":[["Bath",2,0,0],["Leeds",2,0,0]],"check":"control draw","expected":[["Bath",2,0,0],["Leeds",2,0,0]],"passed":true},{"actual":[["Sale",4,1,8],["Wasps",0,0,-8]],"check":"boundary losing by eight","expected":[["Sale",4,1,8],["Wasps",0,0,-8]],"passed":true},{"actual":[["Sale",5,1,7],["Bath",4,1,5],["Leeds",3,0,-12]],"check":"regression: losing bonus margin","expected":[["Sale",5,1,7],["Bath",4,1,5],["Leeds",4,0,-12]],"passed":false},{"actual":[["Leeds",10,2,-3],["Bath",5,1,9],["Sale",2,0,-6]],"check":"variant scenario 1","expected":[["Leeds",10,2,-3],["Bath",5,1,9],["Sale",2,0,-6]],"passed":true},{"actual":[["Leeds",5,1,26],["Wasps",5,1,8],["Sale",1,0,-34]],"check":"variant scenario 2","expected":[["Leeds",5,1,26],["Wasps",5,1,8],["Sale",1,0,-34]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control plain win\", \"actual\": [[\"Bath\", 4, 1, 10], [\"Leeds\", 0, 0, -10]], \"expected\": [[\"Bath\", 4, 1, 10], [\"Leeds\", 0, 0, -10]], \"passed\": true}, {\"check\": \"boundary losing by seven\", \"actual\": [[\"Bath\", 4, 1, 7], [\"Leeds\", 0, 0, -7]], \"expected\": [[\"Bath\", 4, 1, 7], [\"Leeds\", 1, 0, -7]], \"passed\": false}, {\"check\": \"boundary four tries in defeat\", \"actual\": [[\"Bath\", 4, 1, 6], [\"Leeds\", 2, 0, -6]], \"expected\": [[\"Bath\", 4, 1, 6], [\"Leeds\", 2, 0, -6]], \"passed\": true}, {\"check\": \"control draw\", \"actual\": [[\"Bath\", 2, 0, 0], [\"Leeds\", 2, 0, 0]], \"expected\": [[\"Bath\", 2, 0, 0], [\"Leeds\", 2, 0, 0]], \"passed\": true}, {\"check\": \"boundary losing by eight\", \"actual\": [[\"Sale\", 4, 1, 8], [\"Wasps\", 0, 0, -8]], \"expected\": [[\"Sale\", 4, 1, 8], [\"Wasps\", 0, 0, -8]], \"passed\": true}, {\"check\": \"regression: losing bonus margin\", \"actual\": [[\"Sale\", 5, 1, 7], [\"Bath\", 4, 1, 5], [\"Leeds\", 3, 0, -12]], \"expected\": [[\"Sale\", 5, 1, 7], [\"Bath\", 4, 1, 5], [\"Leeds\", 4, 0, -12]], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [[\"Leeds\", 10, 2, -3], [\"Bath\", 5, 1, 9], [\"Sale\", 2, 0, -6]], \"expected\": [[\"Leeds\", 10, 2, -3], [\"Bath\", 5, 1, 9], [\"Sale\", 2, 0, -6]], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": [[\"Leeds\", 5, 1, 26], [\"Wasps\", 5, 1, 8], [\"Sale\", 1, 0, -34]], \"expected\": [[\"Leeds\", 5, 1, 26], [\"Wasps\", 5, 1, 8], [\"Sale\", 1, 0, -34]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.259,"exit_code":0,"observations":[{"actual":[["Bath",4,1,10],["Leeds",0,0,-10]],"check":"control plain win","expected":[["Bath",4,1,10],["Leeds",0,0,-10]],"passed":true},{"actual":[["Bath",4,1,7],["Leeds",1,0,-7]],"check":"boundary losing by seven","expected":[["Bath",4,1,7],["Leeds",1,0,-7]],"passed":true},{"actual":[["Bath",4,1,6],["Leeds",2,0,-6]],"check":"boundary four tries in defeat","expected":[["Bath",4,1,6],["Leeds",2,0,-6]],"passed":true},{"actual":[["Bath",2,0,0],["Leeds",2,0,0]],"check":"control draw","expected":[["Bath",2,0,0],["Leeds",2,0,0]],"passed":true},{"actual":[["Sale",4,1,8],["Wasps",0,0,-8]],"check":"boundary losing by eight","expected":[["Sale",4,1,8],["Wasps",0,0,-8]],"passed":true},{"actual":[["Sale",5,1,7],["Bath",4,1,5],["Leeds",4,0,-12]],"check":"regression: losing bonus margin","expected":[["Sale",5,1,7],["Bath",4,1,5],["Leeds",4,0,-12]],"passed":true},{"actual":[["Leeds",10,2,-3],["Bath",5,1,9],["Sale",2,0,-6]],"check":"variant scenario 1","expected":[["Leeds",10,2,-3],["Bath",5,1,9],["Sale",2,0,-6]],"passed":true},{"actual":[["Leeds",5,1,26],["Wasps",5,1,8],["Sale",1,0,-34]],"check":"variant scenario 2","expected":[["Leeds",5,1,26],["Wasps",5,1,8],["Sale",1,0,-34]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control plain win\", \"actual\": [[\"Bath\", 4, 1, 10], [\"Leeds\", 0, 0, -10]], \"expected\": [[\"Bath\", 4, 1, 10], [\"Leeds\", 0, 0, -10]], \"passed\": true}, {\"check\": \"boundary losing by seven\", \"actual\": [[\"Bath\", 4, 1, 7], [\"Leeds\", 1, 0, -7]], \"expected\": [[\"Bath\", 4, 1, 7], [\"Leeds\", 1, 0, -7]], \"passed\": true}, {\"check\": \"boundary four tries in defeat\", \"actual\": [[\"Bath\", 4, 1, 6], [\"Leeds\", 2, 0, -6]], \"expected\": [[\"Bath\", 4, 1, 6], [\"Leeds\", 2, 0, -6]], \"passed\": true}, {\"check\": \"control draw\", \"actual\": [[\"Bath\", 2, 0, 0], [\"Leeds\", 2, 0, 0]], \"expected\": [[\"Bath\", 2, 0, 0], [\"Leeds\", 2, 0, 0]], \"passed\": true}, {\"check\": \"boundary losing by eight\", \"actual\": [[\"Sale\", 4, 1, 8], [\"Wasps\", 0, 0, -8]], \"expected\": [[\"Sale\", 4, 1, 8], [\"Wasps\", 0, 0, -8]], \"passed\": true}, {\"check\": \"regression: losing bonus margin\", \"actual\": [[\"Sale\", 5, 1, 7], [\"Bath\", 4, 1, 5], [\"Leeds\", 4, 0, -12]], \"expected\": [[\"Sale\", 5, 1, 7], [\"Bath\", 4, 1, 5], [\"Leeds\", 4, 0, -12]], \"passed\": true}, {\"check\": \"variant scenario 1\", \"actual\": [[\"Leeds\", 10, 2, -3], [\"Bath\", 5, 1, 9], [\"Sale\", 2, 0, -6]], \"expected\": [[\"Leeds\", 10, 2, -3], [\"Bath\", 5, 1, 9], [\"Sale\", 2, 0, -6]], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": [[\"Leeds\", 5, 1, 26], [\"Wasps\", 5, 1, 8], [\"Sale\", 1, 0, -34]], \"expected\": [[\"Leeds\", 5, 1, 26], [\"Wasps\", 5, 1, 8], [\"Sale\", 1, 0, -34]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}