FAILURE MAP
← Case archive

FA-84101 / Sports scoring and tiebreakers / Open access

Team with no games breaks the percentage · case 01

A team yet to play raises a division error or is shown as a .500 team.

Verified by executionVariant 1 · 8 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The percentage divides by the games played without a zero guard.

VERIFIED REPAIR

Return 0 for teams with no games.

Unsuccessful approach: Treating an unplayed team as .500 still ranks it wrongly.

Case contract

Division standings. teams rows are [name, wins, losses]. Win percentage is wins / games (0 for no games) shown with three decimals and the leading zero dropped (".500", but "1.000"). Sort by win percentage, then more wins, then name. The leader is the first sorted row; games behind = ((leader_wins - wins) + (losses - leader_losses)) / 2, shown as "-" when zero and otherwise with one decimal (negative values allowed). Return [name, pct, gb] rows.

Why this case matters

Standings pages and playoff-race widgets print win percentage and games behind.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(teams):
    def pct(w, l):
        return Fraction(w, w + l)
    rows = sorted(teams, key=lambda r: (-pct(r[1], r[2]), -r[1], r[0]))
    lw, ll = rows[0][1], rows[0][2]
    out = []
    for name, w, l in rows:
        p = '%.3f' % float(pct(w, l))
        if p.startswith('0'):
            p = p[1:]
        gb2 = (lw - w) + (l - ll)
        gb = '-' if gb2 == 0 else '%.1f' % (gb2 / 2)
        out.append([name, p, gb])
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
def run(args):
    try:
        return solve(*args)
    except Exception as exc:
        return 'raised ' + type(exc).__name__
cases = [[('control two teams',
   ([['Cats', 10, 5], ['Jets', 8, 7]],),
   [['Cats', '.667', '-'], ['Jets', '.533', '2.0']]),
  ('boundary half game',
   ([['Cats', 10, 5], ['Jets', 9, 5]],),
   [['Cats', '.667', '-'], ['Jets', '.643', '0.5']]),
  ('boundary perfect record',
   ([['Suns', 3, 0], ['Jets', 1, 1]],),
   [['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]),
  ('boundary no games played',
   ([['Suns', 0, 0], ['Bucks', 0, 2]],),
   [['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]),
  ('control equal pct more wins first',
   ([['Cats', 2, 2], ['Bucks', 4, 4]],),
   [['Bucks', '.500', '-'], ['Cats', '.500', '-']]),
  ('regression: zero games percentage',
   ([['Jets', 4, 0], ['Bucks', 3, 28], ['Suns', 0, 0], ['Wolves', 0, 5]],),
   [['Jets', '1.000', '-'],
    ['Bucks', '.097', '14.5'],
    ['Suns', '.000', '2.0'],
    ['Wolves', '.000', '4.5']]),
  ('variant scenario 1',
   ([['Suns', 1, 0], ['Wolves', 2, 0], ['Jets', 1, 6]],),
   [['Wolves', '1.000', '-'], ['Suns', '1.000', '0.5'], ['Jets', '.143', '3.5']]),
  ('variant scenario 2',
   ([['Suns', 15, 0], ['Jets', 30, 0], ['Wolves', 10, 0]],),
   [['Jets', '1.000', '-'], ['Suns', '1.000', '7.5'], ['Wolves', '1.000', '10.0']])],
 [('control two teams',
   ([['Cats', 10, 5], ['Jets', 8, 7]],),
   [['Cats', '.667', '-'], ['Jets', '.533', '2.0']]),
  ('boundary half game',
   ([['Cats', 10, 5], ['Jets', 9, 5]],),
   [['Cats', '.667', '-'], ['Jets', '.643', '0.5']]),
  ('boundary perfect record',
   ([['Suns', 3, 0], ['Jets', 1, 1]],),
   [['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]),
  ('boundary no games played',
   ([['Suns', 0, 0], ['Bucks', 0, 2]],),
   [['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]),
  ('control equal pct more wins first',
   ([['Cats', 2, 2], ['Bucks', 4, 4]],),
   [['Bucks', '.500', '-'], ['Cats', '.500', '-']]),
  ('regression: zero games percentage',
   ([['Suns', 8, 2], ['Jets', 0, 0], ['Bucks', 10, 19]],),
   [['Suns', '.800', '-'], ['Bucks', '.345', '7.5'], ['Jets', '.000', '3.0']]),
  ('variant scenario 1',
   ([['Cats', 14, 16], ['Wolves', 8, 9], ['Jets', 2, 8]],),
   [['Wolves', '.471', '-'], ['Cats', '.467', '0.5'], ['Jets', '.200', '2.5']]),
  ('variant scenario 2',
   ([['Wolves', 19, 7], ['Bucks', 38, 14], ['Suns', 0, 8], ['Jets', 6, 1], ['Cats', 1, 6]],),
   [['Jets', '.857', '-'],
    ['Bucks', '.731', '-9.5'],
    ['Wolves', '.731', '-3.5'],
    ['Cats', '.143', '5.0'],
    ['Suns', '.000', '6.5']])],
 [('control two teams',
   ([['Cats', 10, 5], ['Jets', 8, 7]],),
   [['Cats', '.667', '-'], ['Jets', '.533', '2.0']]),
  ('boundary half game',
   ([['Cats', 10, 5], ['Jets', 9, 5]],),
   [['Cats', '.667', '-'], ['Jets', '.643', '0.5']]),
  ('boundary perfect record',
   ([['Suns', 3, 0], ['Jets', 1, 1]],),
   [['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]),
  ('boundary no games played',
   ([['Suns', 0, 0], ['Bucks', 0, 2]],),
   [['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]),
  ('control equal pct more wins first',
   ([['Cats', 2, 2], ['Bucks', 4, 4]],),
   [['Bucks', '.500', '-'], ['Cats', '.500', '-']]),
  ('regression: zero games percentage',
   ([['Wolves', 2, 18], ['Suns', 0, 0], ['Jets', 9, 7]],),
   [['Jets', '.562', '-'], ['Wolves', '.100', '9.0'], ['Suns', '.000', '1.0']]),
  ('variant scenario 1',
   ([['Cats', 9, 7], ['Suns', 19, 0], ['Jets', 20, 6], ['Bucks', 2, 4]],),
   [['Suns', '1.000', '-'],
    ['Jets', '.769', '2.5'],
    ['Cats', '.562', '8.5'],
    ['Bucks', '.333', '10.5']]),
  ('variant scenario 2',
   ([['Jets', 12, 11], ['Suns', 4, 0], ['Bucks', 0, 2], ['Wolves', 16, 8]],),
   [['Suns', '1.000', '-'],
    ['Wolves', '.667', '-2.0'],
    ['Jets', '.522', '1.5'],
    ['Bucks', '.000', '3.0']])],
 [('control two teams',
   ([['Cats', 10, 5], ['Jets', 8, 7]],),
   [['Cats', '.667', '-'], ['Jets', '.533', '2.0']]),
  ('boundary half game',
   ([['Cats', 10, 5], ['Jets', 9, 5]],),
   [['Cats', '.667', '-'], ['Jets', '.643', '0.5']]),
  ('boundary perfect record',
   ([['Suns', 3, 0], ['Jets', 1, 1]],),
   [['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]),
  ('boundary no games played',
   ([['Suns', 0, 0], ['Bucks', 0, 2]],),
   [['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]),
  ('control equal pct more wins first',
   ([['Cats', 2, 2], ['Bucks', 4, 4]],),
   [['Bucks', '.500', '-'], ['Cats', '.500', '-']]),
  ('regression: zero games percentage',
   ([['Cats', 6, 6], ['Suns', 2, 0], ['Wolves', 0, 0], ['Jets', 13, 17]],),
   [['Suns', '1.000', '-'],
    ['Cats', '.500', '1.0'],
    ['Jets', '.433', '3.0'],
    ['Wolves', '.000', '1.0']]),
  ('variant scenario 1',
   ([['Wolves', 23, 12], ['Jets', 9, 16]],),
   [['Wolves', '.657', '-'], ['Jets', '.360', '9.0']]),
  ('variant scenario 2',
   ([['Jets', 7, 13], ['Wolves', 13, 24], ['Bucks', 2, 18], ['Suns', 2, 6]],),
   [['Wolves', '.351', '-'],
    ['Jets', '.350', '-2.5'],
    ['Suns', '.250', '-3.5'],
    ['Bucks', '.100', '2.5']])],
 [('control two teams',
   ([['Cats', 10, 5], ['Jets', 8, 7]],),
   [['Cats', '.667', '-'], ['Jets', '.533', '2.0']]),
  ('boundary half game',
   ([['Cats', 10, 5], ['Jets', 9, 5]],),
   [['Cats', '.667', '-'], ['Jets', '.643', '0.5']]),
  ('boundary perfect record',
   ([['Suns', 3, 0], ['Jets', 1, 1]],),
   [['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]),
  ('boundary no games played',
   ([['Suns', 0, 0], ['Bucks', 0, 2]],),
   [['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]),
  ('control equal pct more wins first',
   ([['Cats', 2, 2], ['Bucks', 4, 4]],),
   [['Bucks', '.500', '-'], ['Cats', '.500', '-']]),
  ('regression: zero games percentage',
   ([['Suns', 0, 0], ['Jets', 9, 10], ['Wolves', 30, 1], ['Bucks', 15, 13]],),
   [['Wolves', '.968', '-'],
    ['Bucks', '.536', '13.5'],
    ['Jets', '.474', '15.0'],
    ['Suns', '.000', '14.5']]),
  ('variant scenario 1',
   ([['Bucks', 6, 2], ['Wolves', 19, 7], ['Jets', 23, 16], ['Suns', 1, 37], ['Cats', 0, 8]],),
   [['Bucks', '.750', '-'],
    ['Wolves', '.731', '-4.0'],
    ['Jets', '.590', '-1.5'],
    ['Suns', '.026', '20.0'],
    ['Cats', '.000', '6.0']]),
  ('variant scenario 2',
   ([['Wolves', 4, 0], ['Bucks', 2, 35]],),
   [['Wolves', '1.000', '-'], ['Bucks', '.054', '18.5']])]]
for label, args, expected in cases[N - 1]:
    check(label, run(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
control two teams[['Cats', '.667', '-'], ['Jets', '.533', '2.0']][['Cats', '.667', '-'], ['Jets', '.533', '2.0']]Passed
boundary half game[['Cats', '.667', '-'], ['Jets', '.643', '0.5']][['Cats', '.667', '-'], ['Jets', '.643', '0.5']]Passed
boundary perfect record[['Suns', '1.000', '-'], ['Jets', '.500', '1.5']][['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]Passed
boundary no games playedraised ZeroDivisionError[['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]Failed
control equal pct more wins first[['Bucks', '.500', '-'], ['Cats', '.500', '-']][['Bucks', '.500', '-'], ['Cats', '.500', '-']]Passed
regression: zero games percentageraised ZeroDivisionError[['Jets', '1.000', '-'], ['Bucks', '.097', '14.5'], ['Suns', '.000', '2.0'], ['Wolves', '.000', '4.5']]Failed
variant scenario 1[['Wolves', '1.000', '-'], ['Suns', '1.000', '0.5'], ['Jets', '.143', '3.5']][['Wolves', '1.000', '-'], ['Suns', '1.000', '0.5'], ['Jets', '.143', '3.5']]Passed
variant scenario 2[['Jets', '1.000', '-'], ['Suns', '1.000', '7.5'], ['Wolves', '1.000', '10.0']][['Jets', '1.000', '-'], ['Suns', '1.000', '7.5'], ['Wolves', '1.000', '10.0']]Passed

SHA-256 / 55351537b715741c410a4747aed031ab34a1006d6b0fb73fe55894f99379ec4d

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(teams):
    def pct(w, l):
        return Fraction(w, w + l) if w + l else Fraction(1, 2)
    rows = sorted(teams, key=lambda r: (-pct(r[1], r[2]), -r[1], r[0]))
    lw, ll = rows[0][1], rows[0][2]
    out = []
    for name, w, l in rows:
        p = '%.3f' % float(pct(w, l))
        if p.startswith('0'):
            p = p[1:]
        gb2 = (lw - w) + (l - ll)
        gb = '-' if gb2 == 0 else '%.1f' % (gb2 / 2)
        out.append([name, p, gb])
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
def run(args):
    try:
        return solve(*args)
    except Exception as exc:
        return 'raised ' + type(exc).__name__
cases = [[('control two teams',
   ([['Cats', 10, 5], ['Jets', 8, 7]],),
   [['Cats', '.667', '-'], ['Jets', '.533', '2.0']]),
  ('boundary half game',
   ([['Cats', 10, 5], ['Jets', 9, 5]],),
   [['Cats', '.667', '-'], ['Jets', '.643', '0.5']]),
  ('boundary perfect record',
   ([['Suns', 3, 0], ['Jets', 1, 1]],),
   [['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]),
  ('boundary no games played',
   ([['Suns', 0, 0], ['Bucks', 0, 2]],),
   [['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]),
  ('control equal pct more wins first',
   ([['Cats', 2, 2], ['Bucks', 4, 4]],),
   [['Bucks', '.500', '-'], ['Cats', '.500', '-']]),
  ('regression: zero games percentage',
   ([['Jets', 4, 0], ['Bucks', 3, 28], ['Suns', 0, 0], ['Wolves', 0, 5]],),
   [['Jets', '1.000', '-'],
    ['Bucks', '.097', '14.5'],
    ['Suns', '.000', '2.0'],
    ['Wolves', '.000', '4.5']]),
  ('variant scenario 1',
   ([['Suns', 1, 0], ['Wolves', 2, 0], ['Jets', 1, 6]],),
   [['Wolves', '1.000', '-'], ['Suns', '1.000', '0.5'], ['Jets', '.143', '3.5']]),
  ('variant scenario 2',
   ([['Suns', 15, 0], ['Jets', 30, 0], ['Wolves', 10, 0]],),
   [['Jets', '1.000', '-'], ['Suns', '1.000', '7.5'], ['Wolves', '1.000', '10.0']])],
 [('control two teams',
   ([['Cats', 10, 5], ['Jets', 8, 7]],),
   [['Cats', '.667', '-'], ['Jets', '.533', '2.0']]),
  ('boundary half game',
   ([['Cats', 10, 5], ['Jets', 9, 5]],),
   [['Cats', '.667', '-'], ['Jets', '.643', '0.5']]),
  ('boundary perfect record',
   ([['Suns', 3, 0], ['Jets', 1, 1]],),
   [['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]),
  ('boundary no games played',
   ([['Suns', 0, 0], ['Bucks', 0, 2]],),
   [['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]),
  ('control equal pct more wins first',
   ([['Cats', 2, 2], ['Bucks', 4, 4]],),
   [['Bucks', '.500', '-'], ['Cats', '.500', '-']]),
  ('regression: zero games percentage',
   ([['Suns', 8, 2], ['Jets', 0, 0], ['Bucks', 10, 19]],),
   [['Suns', '.800', '-'], ['Bucks', '.345', '7.5'], ['Jets', '.000', '3.0']]),
  ('variant scenario 1',
   ([['Cats', 14, 16], ['Wolves', 8, 9], ['Jets', 2, 8]],),
   [['Wolves', '.471', '-'], ['Cats', '.467', '0.5'], ['Jets', '.200', '2.5']]),
  ('variant scenario 2',
   ([['Wolves', 19, 7], ['Bucks', 38, 14], ['Suns', 0, 8], ['Jets', 6, 1], ['Cats', 1, 6]],),
   [['Jets', '.857', '-'],
    ['Bucks', '.731', '-9.5'],
    ['Wolves', '.731', '-3.5'],
    ['Cats', '.143', '5.0'],
    ['Suns', '.000', '6.5']])],
 [('control two teams',
   ([['Cats', 10, 5], ['Jets', 8, 7]],),
   [['Cats', '.667', '-'], ['Jets', '.533', '2.0']]),
  ('boundary half game',
   ([['Cats', 10, 5], ['Jets', 9, 5]],),
   [['Cats', '.667', '-'], ['Jets', '.643', '0.5']]),
  ('boundary perfect record',
   ([['Suns', 3, 0], ['Jets', 1, 1]],),
   [['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]),
  ('boundary no games played',
   ([['Suns', 0, 0], ['Bucks', 0, 2]],),
   [['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]),
  ('control equal pct more wins first',
   ([['Cats', 2, 2], ['Bucks', 4, 4]],),
   [['Bucks', '.500', '-'], ['Cats', '.500', '-']]),
  ('regression: zero games percentage',
   ([['Wolves', 2, 18], ['Suns', 0, 0], ['Jets', 9, 7]],),
   [['Jets', '.562', '-'], ['Wolves', '.100', '9.0'], ['Suns', '.000', '1.0']]),
  ('variant scenario 1',
   ([['Cats', 9, 7], ['Suns', 19, 0], ['Jets', 20, 6], ['Bucks', 2, 4]],),
   [['Suns', '1.000', '-'],
    ['Jets', '.769', '2.5'],
    ['Cats', '.562', '8.5'],
    ['Bucks', '.333', '10.5']]),
  ('variant scenario 2',
   ([['Jets', 12, 11], ['Suns', 4, 0], ['Bucks', 0, 2], ['Wolves', 16, 8]],),
   [['Suns', '1.000', '-'],
    ['Wolves', '.667', '-2.0'],
    ['Jets', '.522', '1.5'],
    ['Bucks', '.000', '3.0']])],
 [('control two teams',
   ([['Cats', 10, 5], ['Jets', 8, 7]],),
   [['Cats', '.667', '-'], ['Jets', '.533', '2.0']]),
  ('boundary half game',
   ([['Cats', 10, 5], ['Jets', 9, 5]],),
   [['Cats', '.667', '-'], ['Jets', '.643', '0.5']]),
  ('boundary perfect record',
   ([['Suns', 3, 0], ['Jets', 1, 1]],),
   [['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]),
  ('boundary no games played',
   ([['Suns', 0, 0], ['Bucks', 0, 2]],),
   [['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]),
  ('control equal pct more wins first',
   ([['Cats', 2, 2], ['Bucks', 4, 4]],),
   [['Bucks', '.500', '-'], ['Cats', '.500', '-']]),
  ('regression: zero games percentage',
   ([['Cats', 6, 6], ['Suns', 2, 0], ['Wolves', 0, 0], ['Jets', 13, 17]],),
   [['Suns', '1.000', '-'],
    ['Cats', '.500', '1.0'],
    ['Jets', '.433', '3.0'],
    ['Wolves', '.000', '1.0']]),
  ('variant scenario 1',
   ([['Wolves', 23, 12], ['Jets', 9, 16]],),
   [['Wolves', '.657', '-'], ['Jets', '.360', '9.0']]),
  ('variant scenario 2',
   ([['Jets', 7, 13], ['Wolves', 13, 24], ['Bucks', 2, 18], ['Suns', 2, 6]],),
   [['Wolves', '.351', '-'],
    ['Jets', '.350', '-2.5'],
    ['Suns', '.250', '-3.5'],
    ['Bucks', '.100', '2.5']])],
 [('control two teams',
   ([['Cats', 10, 5], ['Jets', 8, 7]],),
   [['Cats', '.667', '-'], ['Jets', '.533', '2.0']]),
  ('boundary half game',
   ([['Cats', 10, 5], ['Jets', 9, 5]],),
   [['Cats', '.667', '-'], ['Jets', '.643', '0.5']]),
  ('boundary perfect record',
   ([['Suns', 3, 0], ['Jets', 1, 1]],),
   [['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]),
  ('boundary no games played',
   ([['Suns', 0, 0], ['Bucks', 0, 2]],),
   [['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]),
  ('control equal pct more wins first',
   ([['Cats', 2, 2], ['Bucks', 4, 4]],),
   [['Bucks', '.500', '-'], ['Cats', '.500', '-']]),
  ('regression: zero games percentage',
   ([['Suns', 0, 0], ['Jets', 9, 10], ['Wolves', 30, 1], ['Bucks', 15, 13]],),
   [['Wolves', '.968', '-'],
    ['Bucks', '.536', '13.5'],
    ['Jets', '.474', '15.0'],
    ['Suns', '.000', '14.5']]),
  ('variant scenario 1',
   ([['Bucks', 6, 2], ['Wolves', 19, 7], ['Jets', 23, 16], ['Suns', 1, 37], ['Cats', 0, 8]],),
   [['Bucks', '.750', '-'],
    ['Wolves', '.731', '-4.0'],
    ['Jets', '.590', '-1.5'],
    ['Suns', '.026', '20.0'],
    ['Cats', '.000', '6.0']]),
  ('variant scenario 2',
   ([['Wolves', 4, 0], ['Bucks', 2, 35]],),
   [['Wolves', '1.000', '-'], ['Bucks', '.054', '18.5']])]]
for label, args, expected in cases[N - 1]:
    check(label, run(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
control two teams[['Cats', '.667', '-'], ['Jets', '.533', '2.0']][['Cats', '.667', '-'], ['Jets', '.533', '2.0']]Passed
boundary half game[['Cats', '.667', '-'], ['Jets', '.643', '0.5']][['Cats', '.667', '-'], ['Jets', '.643', '0.5']]Passed
boundary perfect record[['Suns', '1.000', '-'], ['Jets', '.500', '1.5']][['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]Passed
boundary no games played[['Suns', '.500', '-'], ['Bucks', '.000', '1.0']][['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]Failed
control equal pct more wins first[['Bucks', '.500', '-'], ['Cats', '.500', '-']][['Bucks', '.500', '-'], ['Cats', '.500', '-']]Passed
regression: zero games percentage[['Jets', '1.000', '-'], ['Suns', '.500', '2.0'], ['Bucks', '.097', '14.5'], ['Wolves', '.000', '4.5']][['Jets', '1.000', '-'], ['Bucks', '.097', '14.5'], ['Suns', '.000', '2.0'], ['Wolves', '.000', '4.5']]Failed
variant scenario 1[['Wolves', '1.000', '-'], ['Suns', '1.000', '0.5'], ['Jets', '.143', '3.5']][['Wolves', '1.000', '-'], ['Suns', '1.000', '0.5'], ['Jets', '.143', '3.5']]Passed
variant scenario 2[['Jets', '1.000', '-'], ['Suns', '1.000', '7.5'], ['Wolves', '1.000', '10.0']][['Jets', '1.000', '-'], ['Suns', '1.000', '7.5'], ['Wolves', '1.000', '10.0']]Passed

SHA-256 / 5da4cb24f8187154c82c18b97ca75f53c3a6c8330f3cfe849a97537fd2b326ae

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(teams):
    def pct(w, l):
        return Fraction(w, w + l) if w + l else Fraction(0)
    rows = sorted(teams, key=lambda r: (-pct(r[1], r[2]), -r[1], r[0]))
    lw, ll = rows[0][1], rows[0][2]
    out = []
    for name, w, l in rows:
        p = '%.3f' % float(pct(w, l))
        if p.startswith('0'):
            p = p[1:]
        gb2 = (lw - w) + (l - ll)
        gb = '-' if gb2 == 0 else '%.1f' % (gb2 / 2)
        out.append([name, p, gb])
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
def run(args):
    try:
        return solve(*args)
    except Exception as exc:
        return 'raised ' + type(exc).__name__
cases = [[('control two teams',
   ([['Cats', 10, 5], ['Jets', 8, 7]],),
   [['Cats', '.667', '-'], ['Jets', '.533', '2.0']]),
  ('boundary half game',
   ([['Cats', 10, 5], ['Jets', 9, 5]],),
   [['Cats', '.667', '-'], ['Jets', '.643', '0.5']]),
  ('boundary perfect record',
   ([['Suns', 3, 0], ['Jets', 1, 1]],),
   [['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]),
  ('boundary no games played',
   ([['Suns', 0, 0], ['Bucks', 0, 2]],),
   [['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]),
  ('control equal pct more wins first',
   ([['Cats', 2, 2], ['Bucks', 4, 4]],),
   [['Bucks', '.500', '-'], ['Cats', '.500', '-']]),
  ('regression: zero games percentage',
   ([['Jets', 4, 0], ['Bucks', 3, 28], ['Suns', 0, 0], ['Wolves', 0, 5]],),
   [['Jets', '1.000', '-'],
    ['Bucks', '.097', '14.5'],
    ['Suns', '.000', '2.0'],
    ['Wolves', '.000', '4.5']]),
  ('variant scenario 1',
   ([['Suns', 1, 0], ['Wolves', 2, 0], ['Jets', 1, 6]],),
   [['Wolves', '1.000', '-'], ['Suns', '1.000', '0.5'], ['Jets', '.143', '3.5']]),
  ('variant scenario 2',
   ([['Suns', 15, 0], ['Jets', 30, 0], ['Wolves', 10, 0]],),
   [['Jets', '1.000', '-'], ['Suns', '1.000', '7.5'], ['Wolves', '1.000', '10.0']])],
 [('control two teams',
   ([['Cats', 10, 5], ['Jets', 8, 7]],),
   [['Cats', '.667', '-'], ['Jets', '.533', '2.0']]),
  ('boundary half game',
   ([['Cats', 10, 5], ['Jets', 9, 5]],),
   [['Cats', '.667', '-'], ['Jets', '.643', '0.5']]),
  ('boundary perfect record',
   ([['Suns', 3, 0], ['Jets', 1, 1]],),
   [['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]),
  ('boundary no games played',
   ([['Suns', 0, 0], ['Bucks', 0, 2]],),
   [['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]),
  ('control equal pct more wins first',
   ([['Cats', 2, 2], ['Bucks', 4, 4]],),
   [['Bucks', '.500', '-'], ['Cats', '.500', '-']]),
  ('regression: zero games percentage',
   ([['Suns', 8, 2], ['Jets', 0, 0], ['Bucks', 10, 19]],),
   [['Suns', '.800', '-'], ['Bucks', '.345', '7.5'], ['Jets', '.000', '3.0']]),
  ('variant scenario 1',
   ([['Cats', 14, 16], ['Wolves', 8, 9], ['Jets', 2, 8]],),
   [['Wolves', '.471', '-'], ['Cats', '.467', '0.5'], ['Jets', '.200', '2.5']]),
  ('variant scenario 2',
   ([['Wolves', 19, 7], ['Bucks', 38, 14], ['Suns', 0, 8], ['Jets', 6, 1], ['Cats', 1, 6]],),
   [['Jets', '.857', '-'],
    ['Bucks', '.731', '-9.5'],
    ['Wolves', '.731', '-3.5'],
    ['Cats', '.143', '5.0'],
    ['Suns', '.000', '6.5']])],
 [('control two teams',
   ([['Cats', 10, 5], ['Jets', 8, 7]],),
   [['Cats', '.667', '-'], ['Jets', '.533', '2.0']]),
  ('boundary half game',
   ([['Cats', 10, 5], ['Jets', 9, 5]],),
   [['Cats', '.667', '-'], ['Jets', '.643', '0.5']]),
  ('boundary perfect record',
   ([['Suns', 3, 0], ['Jets', 1, 1]],),
   [['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]),
  ('boundary no games played',
   ([['Suns', 0, 0], ['Bucks', 0, 2]],),
   [['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]),
  ('control equal pct more wins first',
   ([['Cats', 2, 2], ['Bucks', 4, 4]],),
   [['Bucks', '.500', '-'], ['Cats', '.500', '-']]),
  ('regression: zero games percentage',
   ([['Wolves', 2, 18], ['Suns', 0, 0], ['Jets', 9, 7]],),
   [['Jets', '.562', '-'], ['Wolves', '.100', '9.0'], ['Suns', '.000', '1.0']]),
  ('variant scenario 1',
   ([['Cats', 9, 7], ['Suns', 19, 0], ['Jets', 20, 6], ['Bucks', 2, 4]],),
   [['Suns', '1.000', '-'],
    ['Jets', '.769', '2.5'],
    ['Cats', '.562', '8.5'],
    ['Bucks', '.333', '10.5']]),
  ('variant scenario 2',
   ([['Jets', 12, 11], ['Suns', 4, 0], ['Bucks', 0, 2], ['Wolves', 16, 8]],),
   [['Suns', '1.000', '-'],
    ['Wolves', '.667', '-2.0'],
    ['Jets', '.522', '1.5'],
    ['Bucks', '.000', '3.0']])],
 [('control two teams',
   ([['Cats', 10, 5], ['Jets', 8, 7]],),
   [['Cats', '.667', '-'], ['Jets', '.533', '2.0']]),
  ('boundary half game',
   ([['Cats', 10, 5], ['Jets', 9, 5]],),
   [['Cats', '.667', '-'], ['Jets', '.643', '0.5']]),
  ('boundary perfect record',
   ([['Suns', 3, 0], ['Jets', 1, 1]],),
   [['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]),
  ('boundary no games played',
   ([['Suns', 0, 0], ['Bucks', 0, 2]],),
   [['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]),
  ('control equal pct more wins first',
   ([['Cats', 2, 2], ['Bucks', 4, 4]],),
   [['Bucks', '.500', '-'], ['Cats', '.500', '-']]),
  ('regression: zero games percentage',
   ([['Cats', 6, 6], ['Suns', 2, 0], ['Wolves', 0, 0], ['Jets', 13, 17]],),
   [['Suns', '1.000', '-'],
    ['Cats', '.500', '1.0'],
    ['Jets', '.433', '3.0'],
    ['Wolves', '.000', '1.0']]),
  ('variant scenario 1',
   ([['Wolves', 23, 12], ['Jets', 9, 16]],),
   [['Wolves', '.657', '-'], ['Jets', '.360', '9.0']]),
  ('variant scenario 2',
   ([['Jets', 7, 13], ['Wolves', 13, 24], ['Bucks', 2, 18], ['Suns', 2, 6]],),
   [['Wolves', '.351', '-'],
    ['Jets', '.350', '-2.5'],
    ['Suns', '.250', '-3.5'],
    ['Bucks', '.100', '2.5']])],
 [('control two teams',
   ([['Cats', 10, 5], ['Jets', 8, 7]],),
   [['Cats', '.667', '-'], ['Jets', '.533', '2.0']]),
  ('boundary half game',
   ([['Cats', 10, 5], ['Jets', 9, 5]],),
   [['Cats', '.667', '-'], ['Jets', '.643', '0.5']]),
  ('boundary perfect record',
   ([['Suns', 3, 0], ['Jets', 1, 1]],),
   [['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]),
  ('boundary no games played',
   ([['Suns', 0, 0], ['Bucks', 0, 2]],),
   [['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]),
  ('control equal pct more wins first',
   ([['Cats', 2, 2], ['Bucks', 4, 4]],),
   [['Bucks', '.500', '-'], ['Cats', '.500', '-']]),
  ('regression: zero games percentage',
   ([['Suns', 0, 0], ['Jets', 9, 10], ['Wolves', 30, 1], ['Bucks', 15, 13]],),
   [['Wolves', '.968', '-'],
    ['Bucks', '.536', '13.5'],
    ['Jets', '.474', '15.0'],
    ['Suns', '.000', '14.5']]),
  ('variant scenario 1',
   ([['Bucks', 6, 2], ['Wolves', 19, 7], ['Jets', 23, 16], ['Suns', 1, 37], ['Cats', 0, 8]],),
   [['Bucks', '.750', '-'],
    ['Wolves', '.731', '-4.0'],
    ['Jets', '.590', '-1.5'],
    ['Suns', '.026', '20.0'],
    ['Cats', '.000', '6.0']]),
  ('variant scenario 2',
   ([['Wolves', 4, 0], ['Bucks', 2, 35]],),
   [['Wolves', '1.000', '-'], ['Bucks', '.054', '18.5']])]]
for label, args, expected in cases[N - 1]:
    check(label, run(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
control two teams[['Cats', '.667', '-'], ['Jets', '.533', '2.0']][['Cats', '.667', '-'], ['Jets', '.533', '2.0']]Passed
boundary half game[['Cats', '.667', '-'], ['Jets', '.643', '0.5']][['Cats', '.667', '-'], ['Jets', '.643', '0.5']]Passed
boundary perfect record[['Suns', '1.000', '-'], ['Jets', '.500', '1.5']][['Suns', '1.000', '-'], ['Jets', '.500', '1.5']]Passed
boundary no games played[['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']][['Bucks', '.000', '-'], ['Suns', '.000', '-1.0']]Passed
control equal pct more wins first[['Bucks', '.500', '-'], ['Cats', '.500', '-']][['Bucks', '.500', '-'], ['Cats', '.500', '-']]Passed
regression: zero games percentage[['Jets', '1.000', '-'], ['Bucks', '.097', '14.5'], ['Suns', '.000', '2.0'], ['Wolves', '.000', '4.5']][['Jets', '1.000', '-'], ['Bucks', '.097', '14.5'], ['Suns', '.000', '2.0'], ['Wolves', '.000', '4.5']]Passed
variant scenario 1[['Wolves', '1.000', '-'], ['Suns', '1.000', '0.5'], ['Jets', '.143', '3.5']][['Wolves', '1.000', '-'], ['Suns', '1.000', '0.5'], ['Jets', '.143', '3.5']]Passed
variant scenario 2[['Jets', '1.000', '-'], ['Suns', '1.000', '7.5'], ['Wolves', '1.000', '10.0']][['Jets', '1.000', '-'], ['Suns', '1.000', '7.5'], ['Wolves', '1.000', '10.0']]Passed

SHA-256 / 718114576fd3e6394224a46527ff9126dce92c6c255b62683229347323962b6d

Verification & scope

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.

Observations recorded using Python 3.12.14 at 2026-09-29T14:50:27.842502+00:00.

Case digest / aa240d71aa823499eed24e5600f21e65ca2747106b9b80afae7552c14473f258