FAILURE MAP
← Case archive

FA-84076 / Sports scoring and tiebreakers / Open access

ROW consulted before regulation wins · case 01

Teams level on points are ordered by ROW before RW.

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

ROOT CAUSE

The sort key swaps the RW and ROW criteria.

VERIFIED REPAIR

Compare RW before ROW.

Unsuccessful approach: Using total wins before RW still skips the regulation-wins criterion.

Case contract

Ice hockey standings. games rows are [home, home_goals, away, away_goals, decided, so_winner] with decided in REG, OT, SO; for SO the listed goals are tied and so_winner names the winner. A win is 2 points and an OT or SO loss 1 point. The shootout winner is credited with one extra goal for, the loser one extra goal against. RW counts regulation wins, ROW regulation plus overtime wins (not shootouts). Rank by points, then RW, then ROW, then total wins, then goal difference, then name. Return [team, points, RW, ROW, W, GD].

Why this case matters

Playoff races are often decided by the RW/ROW cascade and the shootout goal convention.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(games):
    t = {}
    for h, hg, a, ag, decided, so_winner in games:
        if decided == 'SO':
            if so_winner == h:
                hg += 1
            else:
                ag += 1
        for team, f, g in ((h, hg, ag), (a, ag, hg)):
            row = t.setdefault(team, {'pts': 0, 'rw': 0, 'row': 0, 'w': 0, 'gd': 0})
            row['gd'] += f - g
            if f > g:
                row['pts'] += 2
                row['w'] += 1
                if decided == 'REG':
                    row['rw'] += 1
                if decided != 'SO':
                    row['row'] += 1
            elif decided != 'REG':
                row['pts'] += 1
    order = sorted(t, key=lambda k: (-t[k]['pts'], -t[k]['row'], -t[k]['rw'], -t[k]['w'], -t[k]['gd'], k))
    return [[k, t[k]['pts'], t[k]['rw'], t[k]['row'], t[k]['w'], t[k]['gd']] for k in order]
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 regulation win',
   ([['Bears', 3, 'Hawks', 1, 'REG', None]],),
   [['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]),
  ('boundary overtime loss point',
   ([['Bears', 2, 'Hawks', 3, 'OT', None]],),
   [['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary shootout goal credit',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Hawks']],),
   [['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary RW breaks tie',
   ([['Bears', 1, 'Lynx', 0, 'REG', None], ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 2, 1, 1, 1, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Lynx', 0, 0, 0, 0, -1]]),
  ('regression: rw row order',
   ([['Bears', 3, 'Hawks', 3, 'SO', 'Hawks'],
     ['Lynx', 3, 'Bears', 5, 'REG', None],
     ['Lynx', 5, 'Bears', 4, 'OT', None],
     ['Lynx', 3, 'Otters', 3, 'SO', 'Lynx'],
     ['Otters', 3, 'Hawks', 3, 'SO', 'Otters']],),
   [['Bears', 4, 1, 1, 1, 0],
    ['Lynx', 4, 0, 1, 2, 0],
    ['Hawks', 3, 0, 0, 1, 0],
    ['Otters', 3, 0, 0, 1, 0]]),
  ('regression: rw row order',
   ([['Otters', 4, 'Hawks', 3, 'OT', None],
     ['Lynx', 4, 'Bears', 1, 'REG', None],
     ['Bears', 1, 'Hawks', 0, 'OT', None],
     ['Bears', 0, 'Lynx', 0, 'SO', 'Lynx'],
     ['Lynx', 0, 'Bears', 1, 'OT', None]],),
   [['Lynx', 5, 1, 1, 2, 3],
    ['Bears', 5, 0, 2, 2, -2],
    ['Otters', 2, 0, 1, 1, 1],
    ['Hawks', 2, 0, 0, 0, -2]]),
  ('variant scenario 1',
   ([['Otters', 0, 'Hawks', 0, 'SO', 'Hawks'],
     ['Lynx', 4, 'Hawks', 3, 'OT', None],
     ['Otters', 1, 'Bears', 2, 'REG', None],
     ['Otters', 5, 'Bears', 4, 'REG', None],
     ['Lynx', 1, 'Bears', 3, 'REG', None]],),
   [['Bears', 4, 2, 2, 2, 2],
    ['Otters', 3, 1, 1, 1, -1],
    ['Hawks', 3, 0, 0, 1, 0],
    ['Lynx', 2, 0, 1, 1, -1]]),
  ('variant scenario 2',
   ([['Bears', 0, 'Lynx', 1, 'REG', None],
     ['Lynx', 4, 'Bears', 4, 'SO', 'Lynx'],
     ['Bears', 4, 'Lynx', 5, 'OT', None],
     ['Otters', 3, 'Bears', 4, 'OT', None],
     ['Otters', 0, 'Hawks', 3, 'REG', None],
     ['Lynx', 2, 'Otters', 3, 'REG', None]],),
   [['Lynx', 6, 1, 2, 3, 2],
    ['Bears', 4, 0, 1, 1, -2],
    ['Otters', 3, 1, 1, 1, -3],
    ['Hawks', 2, 1, 1, 1, 3]])],
 [('control regulation win',
   ([['Bears', 3, 'Hawks', 1, 'REG', None]],),
   [['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]),
  ('boundary overtime loss point',
   ([['Bears', 2, 'Hawks', 3, 'OT', None]],),
   [['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary shootout goal credit',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Hawks']],),
   [['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary RW breaks tie',
   ([['Bears', 1, 'Lynx', 0, 'REG', None], ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 2, 1, 1, 1, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Lynx', 0, 0, 0, 0, -1]]),
  ('regression: rw row order',
   ([['Otters', 4, 'Bears', 5, 'REG', None],
     ['Lynx', 3, 'Hawks', 3, 'SO', 'Lynx'],
     ['Bears', 2, 'Otters', 2, 'SO', 'Otters'],
     ['Otters', 0, 'Hawks', 0, 'SO', 'Hawks'],
     ['Lynx', 0, 'Hawks', 1, 'OT', None],
     ['Lynx', 5, 'Otters', 1, 'REG', None],
     ['Bears', 1, 'Otters', 5, 'REG', None]],),
   [['Lynx', 5, 1, 1, 2, 4],
    ['Otters', 5, 1, 1, 2, -1],
    ['Hawks', 5, 0, 1, 2, 1],
    ['Bears', 3, 1, 1, 1, -4]]),
  ('regression: rw row order',
   ([['Bears', 4, 'Hawks', 3, 'OT', None],
     ['Otters', 1, 'Hawks', 5, 'REG', None],
     ['Bears', 2, 'Lynx', 3, 'REG', None],
     ['Hawks', 0, 'Bears', 1, 'OT', None]],),
   [['Hawks', 4, 1, 1, 1, 2],
    ['Bears', 4, 0, 2, 2, 1],
    ['Lynx', 2, 1, 1, 1, 1],
    ['Otters', 0, 0, 0, 0, -4]]),
  ('variant scenario 1',
   ([['Otters', 2, 'Hawks', 3, 'OT', None],
     ['Otters', 2, 'Bears', 3, 'OT', None],
     ['Otters', 4, 'Hawks', 3, 'OT', None]],),
   [['Otters', 4, 0, 1, 1, -1], ['Hawks', 3, 0, 1, 1, 0], ['Bears', 2, 0, 1, 1, 1]]),
  ('variant scenario 2',
   ([['Lynx', 3, 'Otters', 4, 'REG', None],
     ['Hawks', 1, 'Otters', 0, 'REG', None],
     ['Hawks', 0, 'Bears', 3, 'REG', None],
     ['Bears', 2, 'Lynx', 3, 'OT', None],
     ['Bears', 2, 'Lynx', 0, 'REG', None]],),
   [['Bears', 5, 2, 2, 2, 4],
    ['Otters', 2, 1, 1, 1, 0],
    ['Hawks', 2, 1, 1, 1, -2],
    ['Lynx', 2, 0, 1, 1, -2]])],
 [('control regulation win',
   ([['Bears', 3, 'Hawks', 1, 'REG', None]],),
   [['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]),
  ('boundary overtime loss point',
   ([['Bears', 2, 'Hawks', 3, 'OT', None]],),
   [['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary shootout goal credit',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Hawks']],),
   [['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary RW breaks tie',
   ([['Bears', 1, 'Lynx', 0, 'REG', None], ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 2, 1, 1, 1, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Lynx', 0, 0, 0, 0, -1]]),
  ('regression: rw row order',
   ([['Bears', 1, 'Lynx', 0, 'OT', None],
     ['Bears', 0, 'Hawks', 4, 'REG', None],
     ['Otters', 0, 'Bears', 5, 'REG', None],
     ['Lynx', 5, 'Otters', 4, 'OT', None],
     ['Bears', 2, 'Lynx', 4, 'REG', None],
     ['Hawks', 2, 'Otters', 3, 'REG', None],
     ['Otters', 4, 'Hawks', 3, 'REG', None]],),
   [['Otters', 5, 2, 2, 2, -4],
    ['Lynx', 5, 1, 2, 2, 2],
    ['Bears', 4, 1, 2, 2, 0],
    ['Hawks', 2, 1, 1, 1, 2]]),
  ('regression: rw row order',
   ([['Otters', 2, 'Bears', 3, 'OT', None],
     ['Hawks', 5, 'Lynx', 4, 'OT', None],
     ['Bears', 3, 'Otters', 2, 'OT', None],
     ['Otters', 4, 'Bears', 3, 'REG', None]],),
   [['Otters', 4, 1, 1, 1, -1],
    ['Bears', 4, 0, 2, 2, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Lynx', 1, 0, 0, 0, -1]]),
  ('variant scenario 1',
   ([['Lynx', 1, 'Hawks', 0, 'OT', None],
     ['Bears', 0, 'Hawks', 0, 'SO', 'Hawks'],
     ['Lynx', 4, 'Hawks', 3, 'OT', None],
     ['Lynx', 2, 'Bears', 2, 'SO', 'Bears'],
     ['Lynx', 1, 'Hawks', 0, 'REG', None],
     ['Hawks', 1, 'Otters', 4, 'REG', None],
     ['Bears', 3, 'Otters', 0, 'REG', None],
     ['Lynx', 5, 'Otters', 4, 'REG', None]],),
   [['Lynx', 9, 2, 4, 4, 3],
    ['Bears', 5, 1, 1, 2, 3],
    ['Hawks', 4, 0, 0, 1, -5],
    ['Otters', 2, 1, 1, 1, -1]]),
  ('variant scenario 2',
   ([['Otters', 1, 'Hawks', 1, 'SO', 'Hawks'],
     ['Bears', 3, 'Hawks', 5, 'REG', None],
     ['Lynx', 2, 'Bears', 1, 'OT', None],
     ['Otters', 5, 'Bears', 4, 'REG', None],
     ['Lynx', 1, 'Hawks', 1, 'SO', 'Lynx'],
     ['Bears', 3, 'Otters', 1, 'REG', None],
     ['Otters', 2, 'Hawks', 3, 'OT', None],
     ['Otters', 0, 'Lynx', 1, 'OT', None]],),
   [['Hawks', 7, 1, 2, 3, 3],
    ['Lynx', 6, 0, 2, 3, 3],
    ['Otters', 5, 1, 1, 1, -4],
    ['Bears', 3, 1, 1, 1, -2]])],
 [('control regulation win',
   ([['Bears', 3, 'Hawks', 1, 'REG', None]],),
   [['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]),
  ('boundary overtime loss point',
   ([['Bears', 2, 'Hawks', 3, 'OT', None]],),
   [['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary shootout goal credit',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Hawks']],),
   [['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary RW breaks tie',
   ([['Bears', 1, 'Lynx', 0, 'REG', None], ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 2, 1, 1, 1, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Lynx', 0, 0, 0, 0, -1]]),
  ('regression: rw row order',
   ([['Bears', 1, 'Lynx', 1, 'SO', 'Bears'],
     ['Bears', 1, 'Lynx', 0, 'OT', None],
     ['Hawks', 5, 'Lynx', 0, 'REG', None],
     ['Lynx', 5, 'Bears', 1, 'REG', None]],),
   [['Lynx', 4, 1, 1, 1, -3], ['Bears', 4, 0, 1, 2, -2], ['Hawks', 2, 1, 1, 1, 5]]),
  ('regression: rw row order',
   ([['Bears', 1, 'Hawks', 0, 'REG', None],
     ['Lynx', 0, 'Bears', 0, 'SO', 'Bears'],
     ['Bears', 5, 'Otters', 2, 'REG', None],
     ['Lynx', 4, 'Otters', 2, 'REG', None],
     ['Hawks', 4, 'Otters', 3, 'OT', None],
     ['Otters', 2, 'Bears', 4, 'REG', None],
     ['Hawks', 0, 'Otters', 1, 'REG', None],
     ['Otters', 0, 'Bears', 1, 'REG', None],
     ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 10, 4, 4, 5, 8],
    ['Otters', 4, 1, 1, 1, -9],
    ['Hawks', 4, 0, 2, 2, 0],
    ['Lynx', 3, 1, 1, 1, 1]]),
  ('variant scenario 1',
   ([['Hawks', 3, 'Otters', 5, 'REG', None],
     ['Lynx', 2, 'Otters', 2, 'SO', 'Otters'],
     ['Otters', 3, 'Lynx', 3, 'SO', 'Lynx']],),
   [['Otters', 5, 1, 1, 2, 2], ['Lynx', 3, 0, 0, 1, 0], ['Hawks', 0, 0, 0, 0, -2]]),
  ('variant scenario 2',
   ([['Otters', 3, 'Bears', 3, 'SO', 'Otters'],
     ['Otters', 1, 'Lynx', 5, 'REG', None],
     ['Otters', 3, 'Lynx', 1, 'REG', None],
     ['Hawks', 5, 'Otters', 0, 'REG', None],
     ['Hawks', 5, 'Lynx', 0, 'REG', None],
     ['Lynx', 2, 'Otters', 3, 'REG', None],
     ['Otters', 5, 'Bears', 3, 'REG', None],
     ['Lynx', 0, 'Otters', 2, 'REG', None]],),
   [['Otters', 10, 4, 4, 5, -1],
    ['Hawks', 4, 2, 2, 2, 10],
    ['Lynx', 2, 1, 1, 1, -6],
    ['Bears', 1, 0, 0, 0, -3]])],
 [('control regulation win',
   ([['Bears', 3, 'Hawks', 1, 'REG', None]],),
   [['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]),
  ('boundary overtime loss point',
   ([['Bears', 2, 'Hawks', 3, 'OT', None]],),
   [['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary shootout goal credit',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Hawks']],),
   [['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary RW breaks tie',
   ([['Bears', 1, 'Lynx', 0, 'REG', None], ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 2, 1, 1, 1, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Lynx', 0, 0, 0, 0, -1]]),
  ('regression: rw row order',
   ([['Otters', 1, 'Bears', 5, 'REG', None],
     ['Lynx', 0, 'Bears', 0, 'SO', 'Lynx'],
     ['Otters', 3, 'Lynx', 2, 'REG', None],
     ['Bears', 3, 'Lynx', 2, 'OT', None],
     ['Hawks', 3, 'Otters', 3, 'SO', 'Hawks'],
     ['Bears', 2, 'Lynx', 3, 'REG', None],
     ['Otters', 4, 'Bears', 4, 'SO', 'Bears'],
     ['Otters', 2, 'Lynx', 4, 'REG', None],
     ['Hawks', 3, 'Bears', 2, 'OT', None],
     ['Otters', 4, 'Lynx', 4, 'SO', 'Otters']],),
   [['Lynx', 8, 2, 2, 3, 1],
    ['Bears', 8, 1, 2, 3, 3],
    ['Otters', 6, 1, 1, 2, -6],
    ['Hawks', 4, 0, 1, 2, 2]]),
  ('regression: rw row order',
   ([['Otters', 3, 'Bears', 4, 'OT', None],
     ['Hawks', 0, 'Bears', 1, 'OT', None],
     ['Bears', 2, 'Otters', 5, 'REG', None],
     ['Hawks', 4, 'Lynx', 3, 'OT', None],
     ['Lynx', 2, 'Otters', 1, 'OT', None]],),
   [['Otters', 4, 1, 1, 1, 1],
    ['Bears', 4, 0, 2, 2, -1],
    ['Hawks', 3, 0, 1, 1, 0],
    ['Lynx', 3, 0, 1, 1, 0]]),
  ('variant scenario 1',
   ([['Bears', 3, 'Hawks', 5, 'REG', None],
     ['Hawks', 3, 'Lynx', 4, 'REG', None],
     ['Otters', 1, 'Lynx', 2, 'OT', None]],),
   [['Lynx', 4, 1, 2, 2, 2],
    ['Hawks', 2, 1, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Bears', 0, 0, 0, 0, -2]]),
  ('variant scenario 2',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Bears'],
     ['Otters', 2, 'Bears', 2, 'SO', 'Bears'],
     ['Bears', 0, 'Hawks', 3, 'REG', None],
     ['Hawks', 2, 'Bears', 2, 'SO', 'Bears'],
     ['Lynx', 0, 'Hawks', 0, 'SO', 'Lynx'],
     ['Lynx', 5, 'Otters', 1, 'REG', None]],),
   [['Bears', 6, 0, 0, 3, 0],
    ['Hawks', 5, 1, 1, 1, 0],
    ['Lynx', 4, 1, 1, 2, 5],
    ['Otters', 1, 0, 0, 0, -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 regulation win[['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]][['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]Passed
boundary overtime loss point[['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]][['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]Passed
boundary shootout goal credit[['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]][['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]Passed
boundary RW breaks tie[['Bears', 2, 1, 1, 1, 1], ['Hawks', 2, 0, 1, 1, 1], ['Otters', 1, 0, 0, 0, -1], ['Lynx', 0, 0, 0, 0, -1]][['Bears', 2, 1, 1, 1, 1], ['Hawks', 2, 0, 1, 1, 1], ['Otters', 1, 0, 0, 0, -1], ['Lynx', 0, 0, 0, 0, -1]]Passed
regression: rw row order[['Bears', 4, 1, 1, 1, 0], ['Lynx', 4, 0, 1, 2, 0], ['Hawks', 3, 0, 0, 1, 0], ['Otters', 3, 0, 0, 1, 0]][['Bears', 4, 1, 1, 1, 0], ['Lynx', 4, 0, 1, 2, 0], ['Hawks', 3, 0, 0, 1, 0], ['Otters', 3, 0, 0, 1, 0]]Passed
regression: rw row order[['Bears', 5, 0, 2, 2, -2], ['Lynx', 5, 1, 1, 2, 3], ['Otters', 2, 0, 1, 1, 1], ['Hawks', 2, 0, 0, 0, -2]][['Lynx', 5, 1, 1, 2, 3], ['Bears', 5, 0, 2, 2, -2], ['Otters', 2, 0, 1, 1, 1], ['Hawks', 2, 0, 0, 0, -2]]Failed
variant scenario 1[['Bears', 4, 2, 2, 2, 2], ['Otters', 3, 1, 1, 1, -1], ['Hawks', 3, 0, 0, 1, 0], ['Lynx', 2, 0, 1, 1, -1]][['Bears', 4, 2, 2, 2, 2], ['Otters', 3, 1, 1, 1, -1], ['Hawks', 3, 0, 0, 1, 0], ['Lynx', 2, 0, 1, 1, -1]]Passed
variant scenario 2[['Lynx', 6, 1, 2, 3, 2], ['Bears', 4, 0, 1, 1, -2], ['Otters', 3, 1, 1, 1, -3], ['Hawks', 2, 1, 1, 1, 3]][['Lynx', 6, 1, 2, 3, 2], ['Bears', 4, 0, 1, 1, -2], ['Otters', 3, 1, 1, 1, -3], ['Hawks', 2, 1, 1, 1, 3]]Passed

SHA-256 / 3455369cc949d1c75b8c0b9125923acbdae6c71db5b4685a205f597af0cfd17e

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(games):
    t = {}
    for h, hg, a, ag, decided, so_winner in games:
        if decided == 'SO':
            if so_winner == h:
                hg += 1
            else:
                ag += 1
        for team, f, g in ((h, hg, ag), (a, ag, hg)):
            row = t.setdefault(team, {'pts': 0, 'rw': 0, 'row': 0, 'w': 0, 'gd': 0})
            row['gd'] += f - g
            if f > g:
                row['pts'] += 2
                row['w'] += 1
                if decided == 'REG':
                    row['rw'] += 1
                if decided != 'SO':
                    row['row'] += 1
            elif decided != 'REG':
                row['pts'] += 1
    order = sorted(t, key=lambda k: (-t[k]['pts'], -t[k]['w'], -t[k]['row'], -t[k]['w'], -t[k]['gd'], k))
    return [[k, t[k]['pts'], t[k]['rw'], t[k]['row'], t[k]['w'], t[k]['gd']] for k in order]
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 regulation win',
   ([['Bears', 3, 'Hawks', 1, 'REG', None]],),
   [['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]),
  ('boundary overtime loss point',
   ([['Bears', 2, 'Hawks', 3, 'OT', None]],),
   [['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary shootout goal credit',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Hawks']],),
   [['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary RW breaks tie',
   ([['Bears', 1, 'Lynx', 0, 'REG', None], ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 2, 1, 1, 1, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Lynx', 0, 0, 0, 0, -1]]),
  ('regression: rw row order',
   ([['Bears', 3, 'Hawks', 3, 'SO', 'Hawks'],
     ['Lynx', 3, 'Bears', 5, 'REG', None],
     ['Lynx', 5, 'Bears', 4, 'OT', None],
     ['Lynx', 3, 'Otters', 3, 'SO', 'Lynx'],
     ['Otters', 3, 'Hawks', 3, 'SO', 'Otters']],),
   [['Bears', 4, 1, 1, 1, 0],
    ['Lynx', 4, 0, 1, 2, 0],
    ['Hawks', 3, 0, 0, 1, 0],
    ['Otters', 3, 0, 0, 1, 0]]),
  ('regression: rw row order',
   ([['Otters', 4, 'Hawks', 3, 'OT', None],
     ['Lynx', 4, 'Bears', 1, 'REG', None],
     ['Bears', 1, 'Hawks', 0, 'OT', None],
     ['Bears', 0, 'Lynx', 0, 'SO', 'Lynx'],
     ['Lynx', 0, 'Bears', 1, 'OT', None]],),
   [['Lynx', 5, 1, 1, 2, 3],
    ['Bears', 5, 0, 2, 2, -2],
    ['Otters', 2, 0, 1, 1, 1],
    ['Hawks', 2, 0, 0, 0, -2]]),
  ('variant scenario 1',
   ([['Otters', 0, 'Hawks', 0, 'SO', 'Hawks'],
     ['Lynx', 4, 'Hawks', 3, 'OT', None],
     ['Otters', 1, 'Bears', 2, 'REG', None],
     ['Otters', 5, 'Bears', 4, 'REG', None],
     ['Lynx', 1, 'Bears', 3, 'REG', None]],),
   [['Bears', 4, 2, 2, 2, 2],
    ['Otters', 3, 1, 1, 1, -1],
    ['Hawks', 3, 0, 0, 1, 0],
    ['Lynx', 2, 0, 1, 1, -1]]),
  ('variant scenario 2',
   ([['Bears', 0, 'Lynx', 1, 'REG', None],
     ['Lynx', 4, 'Bears', 4, 'SO', 'Lynx'],
     ['Bears', 4, 'Lynx', 5, 'OT', None],
     ['Otters', 3, 'Bears', 4, 'OT', None],
     ['Otters', 0, 'Hawks', 3, 'REG', None],
     ['Lynx', 2, 'Otters', 3, 'REG', None]],),
   [['Lynx', 6, 1, 2, 3, 2],
    ['Bears', 4, 0, 1, 1, -2],
    ['Otters', 3, 1, 1, 1, -3],
    ['Hawks', 2, 1, 1, 1, 3]])],
 [('control regulation win',
   ([['Bears', 3, 'Hawks', 1, 'REG', None]],),
   [['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]),
  ('boundary overtime loss point',
   ([['Bears', 2, 'Hawks', 3, 'OT', None]],),
   [['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary shootout goal credit',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Hawks']],),
   [['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary RW breaks tie',
   ([['Bears', 1, 'Lynx', 0, 'REG', None], ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 2, 1, 1, 1, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Lynx', 0, 0, 0, 0, -1]]),
  ('regression: rw row order',
   ([['Otters', 4, 'Bears', 5, 'REG', None],
     ['Lynx', 3, 'Hawks', 3, 'SO', 'Lynx'],
     ['Bears', 2, 'Otters', 2, 'SO', 'Otters'],
     ['Otters', 0, 'Hawks', 0, 'SO', 'Hawks'],
     ['Lynx', 0, 'Hawks', 1, 'OT', None],
     ['Lynx', 5, 'Otters', 1, 'REG', None],
     ['Bears', 1, 'Otters', 5, 'REG', None]],),
   [['Lynx', 5, 1, 1, 2, 4],
    ['Otters', 5, 1, 1, 2, -1],
    ['Hawks', 5, 0, 1, 2, 1],
    ['Bears', 3, 1, 1, 1, -4]]),
  ('regression: rw row order',
   ([['Bears', 4, 'Hawks', 3, 'OT', None],
     ['Otters', 1, 'Hawks', 5, 'REG', None],
     ['Bears', 2, 'Lynx', 3, 'REG', None],
     ['Hawks', 0, 'Bears', 1, 'OT', None]],),
   [['Hawks', 4, 1, 1, 1, 2],
    ['Bears', 4, 0, 2, 2, 1],
    ['Lynx', 2, 1, 1, 1, 1],
    ['Otters', 0, 0, 0, 0, -4]]),
  ('variant scenario 1',
   ([['Otters', 2, 'Hawks', 3, 'OT', None],
     ['Otters', 2, 'Bears', 3, 'OT', None],
     ['Otters', 4, 'Hawks', 3, 'OT', None]],),
   [['Otters', 4, 0, 1, 1, -1], ['Hawks', 3, 0, 1, 1, 0], ['Bears', 2, 0, 1, 1, 1]]),
  ('variant scenario 2',
   ([['Lynx', 3, 'Otters', 4, 'REG', None],
     ['Hawks', 1, 'Otters', 0, 'REG', None],
     ['Hawks', 0, 'Bears', 3, 'REG', None],
     ['Bears', 2, 'Lynx', 3, 'OT', None],
     ['Bears', 2, 'Lynx', 0, 'REG', None]],),
   [['Bears', 5, 2, 2, 2, 4],
    ['Otters', 2, 1, 1, 1, 0],
    ['Hawks', 2, 1, 1, 1, -2],
    ['Lynx', 2, 0, 1, 1, -2]])],
 [('control regulation win',
   ([['Bears', 3, 'Hawks', 1, 'REG', None]],),
   [['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]),
  ('boundary overtime loss point',
   ([['Bears', 2, 'Hawks', 3, 'OT', None]],),
   [['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary shootout goal credit',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Hawks']],),
   [['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary RW breaks tie',
   ([['Bears', 1, 'Lynx', 0, 'REG', None], ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 2, 1, 1, 1, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Lynx', 0, 0, 0, 0, -1]]),
  ('regression: rw row order',
   ([['Bears', 1, 'Lynx', 0, 'OT', None],
     ['Bears', 0, 'Hawks', 4, 'REG', None],
     ['Otters', 0, 'Bears', 5, 'REG', None],
     ['Lynx', 5, 'Otters', 4, 'OT', None],
     ['Bears', 2, 'Lynx', 4, 'REG', None],
     ['Hawks', 2, 'Otters', 3, 'REG', None],
     ['Otters', 4, 'Hawks', 3, 'REG', None]],),
   [['Otters', 5, 2, 2, 2, -4],
    ['Lynx', 5, 1, 2, 2, 2],
    ['Bears', 4, 1, 2, 2, 0],
    ['Hawks', 2, 1, 1, 1, 2]]),
  ('regression: rw row order',
   ([['Otters', 2, 'Bears', 3, 'OT', None],
     ['Hawks', 5, 'Lynx', 4, 'OT', None],
     ['Bears', 3, 'Otters', 2, 'OT', None],
     ['Otters', 4, 'Bears', 3, 'REG', None]],),
   [['Otters', 4, 1, 1, 1, -1],
    ['Bears', 4, 0, 2, 2, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Lynx', 1, 0, 0, 0, -1]]),
  ('variant scenario 1',
   ([['Lynx', 1, 'Hawks', 0, 'OT', None],
     ['Bears', 0, 'Hawks', 0, 'SO', 'Hawks'],
     ['Lynx', 4, 'Hawks', 3, 'OT', None],
     ['Lynx', 2, 'Bears', 2, 'SO', 'Bears'],
     ['Lynx', 1, 'Hawks', 0, 'REG', None],
     ['Hawks', 1, 'Otters', 4, 'REG', None],
     ['Bears', 3, 'Otters', 0, 'REG', None],
     ['Lynx', 5, 'Otters', 4, 'REG', None]],),
   [['Lynx', 9, 2, 4, 4, 3],
    ['Bears', 5, 1, 1, 2, 3],
    ['Hawks', 4, 0, 0, 1, -5],
    ['Otters', 2, 1, 1, 1, -1]]),
  ('variant scenario 2',
   ([['Otters', 1, 'Hawks', 1, 'SO', 'Hawks'],
     ['Bears', 3, 'Hawks', 5, 'REG', None],
     ['Lynx', 2, 'Bears', 1, 'OT', None],
     ['Otters', 5, 'Bears', 4, 'REG', None],
     ['Lynx', 1, 'Hawks', 1, 'SO', 'Lynx'],
     ['Bears', 3, 'Otters', 1, 'REG', None],
     ['Otters', 2, 'Hawks', 3, 'OT', None],
     ['Otters', 0, 'Lynx', 1, 'OT', None]],),
   [['Hawks', 7, 1, 2, 3, 3],
    ['Lynx', 6, 0, 2, 3, 3],
    ['Otters', 5, 1, 1, 1, -4],
    ['Bears', 3, 1, 1, 1, -2]])],
 [('control regulation win',
   ([['Bears', 3, 'Hawks', 1, 'REG', None]],),
   [['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]),
  ('boundary overtime loss point',
   ([['Bears', 2, 'Hawks', 3, 'OT', None]],),
   [['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary shootout goal credit',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Hawks']],),
   [['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary RW breaks tie',
   ([['Bears', 1, 'Lynx', 0, 'REG', None], ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 2, 1, 1, 1, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Lynx', 0, 0, 0, 0, -1]]),
  ('regression: rw row order',
   ([['Bears', 1, 'Lynx', 1, 'SO', 'Bears'],
     ['Bears', 1, 'Lynx', 0, 'OT', None],
     ['Hawks', 5, 'Lynx', 0, 'REG', None],
     ['Lynx', 5, 'Bears', 1, 'REG', None]],),
   [['Lynx', 4, 1, 1, 1, -3], ['Bears', 4, 0, 1, 2, -2], ['Hawks', 2, 1, 1, 1, 5]]),
  ('regression: rw row order',
   ([['Bears', 1, 'Hawks', 0, 'REG', None],
     ['Lynx', 0, 'Bears', 0, 'SO', 'Bears'],
     ['Bears', 5, 'Otters', 2, 'REG', None],
     ['Lynx', 4, 'Otters', 2, 'REG', None],
     ['Hawks', 4, 'Otters', 3, 'OT', None],
     ['Otters', 2, 'Bears', 4, 'REG', None],
     ['Hawks', 0, 'Otters', 1, 'REG', None],
     ['Otters', 0, 'Bears', 1, 'REG', None],
     ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 10, 4, 4, 5, 8],
    ['Otters', 4, 1, 1, 1, -9],
    ['Hawks', 4, 0, 2, 2, 0],
    ['Lynx', 3, 1, 1, 1, 1]]),
  ('variant scenario 1',
   ([['Hawks', 3, 'Otters', 5, 'REG', None],
     ['Lynx', 2, 'Otters', 2, 'SO', 'Otters'],
     ['Otters', 3, 'Lynx', 3, 'SO', 'Lynx']],),
   [['Otters', 5, 1, 1, 2, 2], ['Lynx', 3, 0, 0, 1, 0], ['Hawks', 0, 0, 0, 0, -2]]),
  ('variant scenario 2',
   ([['Otters', 3, 'Bears', 3, 'SO', 'Otters'],
     ['Otters', 1, 'Lynx', 5, 'REG', None],
     ['Otters', 3, 'Lynx', 1, 'REG', None],
     ['Hawks', 5, 'Otters', 0, 'REG', None],
     ['Hawks', 5, 'Lynx', 0, 'REG', None],
     ['Lynx', 2, 'Otters', 3, 'REG', None],
     ['Otters', 5, 'Bears', 3, 'REG', None],
     ['Lynx', 0, 'Otters', 2, 'REG', None]],),
   [['Otters', 10, 4, 4, 5, -1],
    ['Hawks', 4, 2, 2, 2, 10],
    ['Lynx', 2, 1, 1, 1, -6],
    ['Bears', 1, 0, 0, 0, -3]])],
 [('control regulation win',
   ([['Bears', 3, 'Hawks', 1, 'REG', None]],),
   [['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]),
  ('boundary overtime loss point',
   ([['Bears', 2, 'Hawks', 3, 'OT', None]],),
   [['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary shootout goal credit',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Hawks']],),
   [['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary RW breaks tie',
   ([['Bears', 1, 'Lynx', 0, 'REG', None], ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 2, 1, 1, 1, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Lynx', 0, 0, 0, 0, -1]]),
  ('regression: rw row order',
   ([['Otters', 1, 'Bears', 5, 'REG', None],
     ['Lynx', 0, 'Bears', 0, 'SO', 'Lynx'],
     ['Otters', 3, 'Lynx', 2, 'REG', None],
     ['Bears', 3, 'Lynx', 2, 'OT', None],
     ['Hawks', 3, 'Otters', 3, 'SO', 'Hawks'],
     ['Bears', 2, 'Lynx', 3, 'REG', None],
     ['Otters', 4, 'Bears', 4, 'SO', 'Bears'],
     ['Otters', 2, 'Lynx', 4, 'REG', None],
     ['Hawks', 3, 'Bears', 2, 'OT', None],
     ['Otters', 4, 'Lynx', 4, 'SO', 'Otters']],),
   [['Lynx', 8, 2, 2, 3, 1],
    ['Bears', 8, 1, 2, 3, 3],
    ['Otters', 6, 1, 1, 2, -6],
    ['Hawks', 4, 0, 1, 2, 2]]),
  ('regression: rw row order',
   ([['Otters', 3, 'Bears', 4, 'OT', None],
     ['Hawks', 0, 'Bears', 1, 'OT', None],
     ['Bears', 2, 'Otters', 5, 'REG', None],
     ['Hawks', 4, 'Lynx', 3, 'OT', None],
     ['Lynx', 2, 'Otters', 1, 'OT', None]],),
   [['Otters', 4, 1, 1, 1, 1],
    ['Bears', 4, 0, 2, 2, -1],
    ['Hawks', 3, 0, 1, 1, 0],
    ['Lynx', 3, 0, 1, 1, 0]]),
  ('variant scenario 1',
   ([['Bears', 3, 'Hawks', 5, 'REG', None],
     ['Hawks', 3, 'Lynx', 4, 'REG', None],
     ['Otters', 1, 'Lynx', 2, 'OT', None]],),
   [['Lynx', 4, 1, 2, 2, 2],
    ['Hawks', 2, 1, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Bears', 0, 0, 0, 0, -2]]),
  ('variant scenario 2',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Bears'],
     ['Otters', 2, 'Bears', 2, 'SO', 'Bears'],
     ['Bears', 0, 'Hawks', 3, 'REG', None],
     ['Hawks', 2, 'Bears', 2, 'SO', 'Bears'],
     ['Lynx', 0, 'Hawks', 0, 'SO', 'Lynx'],
     ['Lynx', 5, 'Otters', 1, 'REG', None]],),
   [['Bears', 6, 0, 0, 3, 0],
    ['Hawks', 5, 1, 1, 1, 0],
    ['Lynx', 4, 1, 1, 2, 5],
    ['Otters', 1, 0, 0, 0, -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 regulation win[['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]][['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]Passed
boundary overtime loss point[['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]][['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]Passed
boundary shootout goal credit[['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]][['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]Passed
boundary RW breaks tie[['Bears', 2, 1, 1, 1, 1], ['Hawks', 2, 0, 1, 1, 1], ['Otters', 1, 0, 0, 0, -1], ['Lynx', 0, 0, 0, 0, -1]][['Bears', 2, 1, 1, 1, 1], ['Hawks', 2, 0, 1, 1, 1], ['Otters', 1, 0, 0, 0, -1], ['Lynx', 0, 0, 0, 0, -1]]Passed
regression: rw row order[['Lynx', 4, 0, 1, 2, 0], ['Bears', 4, 1, 1, 1, 0], ['Hawks', 3, 0, 0, 1, 0], ['Otters', 3, 0, 0, 1, 0]][['Bears', 4, 1, 1, 1, 0], ['Lynx', 4, 0, 1, 2, 0], ['Hawks', 3, 0, 0, 1, 0], ['Otters', 3, 0, 0, 1, 0]]Failed
regression: rw row order[['Bears', 5, 0, 2, 2, -2], ['Lynx', 5, 1, 1, 2, 3], ['Otters', 2, 0, 1, 1, 1], ['Hawks', 2, 0, 0, 0, -2]][['Lynx', 5, 1, 1, 2, 3], ['Bears', 5, 0, 2, 2, -2], ['Otters', 2, 0, 1, 1, 1], ['Hawks', 2, 0, 0, 0, -2]]Failed
variant scenario 1[['Bears', 4, 2, 2, 2, 2], ['Otters', 3, 1, 1, 1, -1], ['Hawks', 3, 0, 0, 1, 0], ['Lynx', 2, 0, 1, 1, -1]][['Bears', 4, 2, 2, 2, 2], ['Otters', 3, 1, 1, 1, -1], ['Hawks', 3, 0, 0, 1, 0], ['Lynx', 2, 0, 1, 1, -1]]Passed
variant scenario 2[['Lynx', 6, 1, 2, 3, 2], ['Bears', 4, 0, 1, 1, -2], ['Otters', 3, 1, 1, 1, -3], ['Hawks', 2, 1, 1, 1, 3]][['Lynx', 6, 1, 2, 3, 2], ['Bears', 4, 0, 1, 1, -2], ['Otters', 3, 1, 1, 1, -3], ['Hawks', 2, 1, 1, 1, 3]]Passed

SHA-256 / 3b9f8b282ba7b768be0a219c15470f53a11ca8e9593313ec0f7de94b4085216f

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(games):
    t = {}
    for h, hg, a, ag, decided, so_winner in games:
        if decided == 'SO':
            if so_winner == h:
                hg += 1
            else:
                ag += 1
        for team, f, g in ((h, hg, ag), (a, ag, hg)):
            row = t.setdefault(team, {'pts': 0, 'rw': 0, 'row': 0, 'w': 0, 'gd': 0})
            row['gd'] += f - g
            if f > g:
                row['pts'] += 2
                row['w'] += 1
                if decided == 'REG':
                    row['rw'] += 1
                if decided != 'SO':
                    row['row'] += 1
            elif decided != 'REG':
                row['pts'] += 1
    order = sorted(t, key=lambda k: (-t[k]['pts'], -t[k]['rw'], -t[k]['row'], -t[k]['w'], -t[k]['gd'], k))
    return [[k, t[k]['pts'], t[k]['rw'], t[k]['row'], t[k]['w'], t[k]['gd']] for k in order]
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 regulation win',
   ([['Bears', 3, 'Hawks', 1, 'REG', None]],),
   [['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]),
  ('boundary overtime loss point',
   ([['Bears', 2, 'Hawks', 3, 'OT', None]],),
   [['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary shootout goal credit',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Hawks']],),
   [['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary RW breaks tie',
   ([['Bears', 1, 'Lynx', 0, 'REG', None], ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 2, 1, 1, 1, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Lynx', 0, 0, 0, 0, -1]]),
  ('regression: rw row order',
   ([['Bears', 3, 'Hawks', 3, 'SO', 'Hawks'],
     ['Lynx', 3, 'Bears', 5, 'REG', None],
     ['Lynx', 5, 'Bears', 4, 'OT', None],
     ['Lynx', 3, 'Otters', 3, 'SO', 'Lynx'],
     ['Otters', 3, 'Hawks', 3, 'SO', 'Otters']],),
   [['Bears', 4, 1, 1, 1, 0],
    ['Lynx', 4, 0, 1, 2, 0],
    ['Hawks', 3, 0, 0, 1, 0],
    ['Otters', 3, 0, 0, 1, 0]]),
  ('regression: rw row order',
   ([['Otters', 4, 'Hawks', 3, 'OT', None],
     ['Lynx', 4, 'Bears', 1, 'REG', None],
     ['Bears', 1, 'Hawks', 0, 'OT', None],
     ['Bears', 0, 'Lynx', 0, 'SO', 'Lynx'],
     ['Lynx', 0, 'Bears', 1, 'OT', None]],),
   [['Lynx', 5, 1, 1, 2, 3],
    ['Bears', 5, 0, 2, 2, -2],
    ['Otters', 2, 0, 1, 1, 1],
    ['Hawks', 2, 0, 0, 0, -2]]),
  ('variant scenario 1',
   ([['Otters', 0, 'Hawks', 0, 'SO', 'Hawks'],
     ['Lynx', 4, 'Hawks', 3, 'OT', None],
     ['Otters', 1, 'Bears', 2, 'REG', None],
     ['Otters', 5, 'Bears', 4, 'REG', None],
     ['Lynx', 1, 'Bears', 3, 'REG', None]],),
   [['Bears', 4, 2, 2, 2, 2],
    ['Otters', 3, 1, 1, 1, -1],
    ['Hawks', 3, 0, 0, 1, 0],
    ['Lynx', 2, 0, 1, 1, -1]]),
  ('variant scenario 2',
   ([['Bears', 0, 'Lynx', 1, 'REG', None],
     ['Lynx', 4, 'Bears', 4, 'SO', 'Lynx'],
     ['Bears', 4, 'Lynx', 5, 'OT', None],
     ['Otters', 3, 'Bears', 4, 'OT', None],
     ['Otters', 0, 'Hawks', 3, 'REG', None],
     ['Lynx', 2, 'Otters', 3, 'REG', None]],),
   [['Lynx', 6, 1, 2, 3, 2],
    ['Bears', 4, 0, 1, 1, -2],
    ['Otters', 3, 1, 1, 1, -3],
    ['Hawks', 2, 1, 1, 1, 3]])],
 [('control regulation win',
   ([['Bears', 3, 'Hawks', 1, 'REG', None]],),
   [['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]),
  ('boundary overtime loss point',
   ([['Bears', 2, 'Hawks', 3, 'OT', None]],),
   [['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary shootout goal credit',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Hawks']],),
   [['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary RW breaks tie',
   ([['Bears', 1, 'Lynx', 0, 'REG', None], ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 2, 1, 1, 1, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Lynx', 0, 0, 0, 0, -1]]),
  ('regression: rw row order',
   ([['Otters', 4, 'Bears', 5, 'REG', None],
     ['Lynx', 3, 'Hawks', 3, 'SO', 'Lynx'],
     ['Bears', 2, 'Otters', 2, 'SO', 'Otters'],
     ['Otters', 0, 'Hawks', 0, 'SO', 'Hawks'],
     ['Lynx', 0, 'Hawks', 1, 'OT', None],
     ['Lynx', 5, 'Otters', 1, 'REG', None],
     ['Bears', 1, 'Otters', 5, 'REG', None]],),
   [['Lynx', 5, 1, 1, 2, 4],
    ['Otters', 5, 1, 1, 2, -1],
    ['Hawks', 5, 0, 1, 2, 1],
    ['Bears', 3, 1, 1, 1, -4]]),
  ('regression: rw row order',
   ([['Bears', 4, 'Hawks', 3, 'OT', None],
     ['Otters', 1, 'Hawks', 5, 'REG', None],
     ['Bears', 2, 'Lynx', 3, 'REG', None],
     ['Hawks', 0, 'Bears', 1, 'OT', None]],),
   [['Hawks', 4, 1, 1, 1, 2],
    ['Bears', 4, 0, 2, 2, 1],
    ['Lynx', 2, 1, 1, 1, 1],
    ['Otters', 0, 0, 0, 0, -4]]),
  ('variant scenario 1',
   ([['Otters', 2, 'Hawks', 3, 'OT', None],
     ['Otters', 2, 'Bears', 3, 'OT', None],
     ['Otters', 4, 'Hawks', 3, 'OT', None]],),
   [['Otters', 4, 0, 1, 1, -1], ['Hawks', 3, 0, 1, 1, 0], ['Bears', 2, 0, 1, 1, 1]]),
  ('variant scenario 2',
   ([['Lynx', 3, 'Otters', 4, 'REG', None],
     ['Hawks', 1, 'Otters', 0, 'REG', None],
     ['Hawks', 0, 'Bears', 3, 'REG', None],
     ['Bears', 2, 'Lynx', 3, 'OT', None],
     ['Bears', 2, 'Lynx', 0, 'REG', None]],),
   [['Bears', 5, 2, 2, 2, 4],
    ['Otters', 2, 1, 1, 1, 0],
    ['Hawks', 2, 1, 1, 1, -2],
    ['Lynx', 2, 0, 1, 1, -2]])],
 [('control regulation win',
   ([['Bears', 3, 'Hawks', 1, 'REG', None]],),
   [['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]),
  ('boundary overtime loss point',
   ([['Bears', 2, 'Hawks', 3, 'OT', None]],),
   [['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary shootout goal credit',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Hawks']],),
   [['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary RW breaks tie',
   ([['Bears', 1, 'Lynx', 0, 'REG', None], ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 2, 1, 1, 1, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Lynx', 0, 0, 0, 0, -1]]),
  ('regression: rw row order',
   ([['Bears', 1, 'Lynx', 0, 'OT', None],
     ['Bears', 0, 'Hawks', 4, 'REG', None],
     ['Otters', 0, 'Bears', 5, 'REG', None],
     ['Lynx', 5, 'Otters', 4, 'OT', None],
     ['Bears', 2, 'Lynx', 4, 'REG', None],
     ['Hawks', 2, 'Otters', 3, 'REG', None],
     ['Otters', 4, 'Hawks', 3, 'REG', None]],),
   [['Otters', 5, 2, 2, 2, -4],
    ['Lynx', 5, 1, 2, 2, 2],
    ['Bears', 4, 1, 2, 2, 0],
    ['Hawks', 2, 1, 1, 1, 2]]),
  ('regression: rw row order',
   ([['Otters', 2, 'Bears', 3, 'OT', None],
     ['Hawks', 5, 'Lynx', 4, 'OT', None],
     ['Bears', 3, 'Otters', 2, 'OT', None],
     ['Otters', 4, 'Bears', 3, 'REG', None]],),
   [['Otters', 4, 1, 1, 1, -1],
    ['Bears', 4, 0, 2, 2, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Lynx', 1, 0, 0, 0, -1]]),
  ('variant scenario 1',
   ([['Lynx', 1, 'Hawks', 0, 'OT', None],
     ['Bears', 0, 'Hawks', 0, 'SO', 'Hawks'],
     ['Lynx', 4, 'Hawks', 3, 'OT', None],
     ['Lynx', 2, 'Bears', 2, 'SO', 'Bears'],
     ['Lynx', 1, 'Hawks', 0, 'REG', None],
     ['Hawks', 1, 'Otters', 4, 'REG', None],
     ['Bears', 3, 'Otters', 0, 'REG', None],
     ['Lynx', 5, 'Otters', 4, 'REG', None]],),
   [['Lynx', 9, 2, 4, 4, 3],
    ['Bears', 5, 1, 1, 2, 3],
    ['Hawks', 4, 0, 0, 1, -5],
    ['Otters', 2, 1, 1, 1, -1]]),
  ('variant scenario 2',
   ([['Otters', 1, 'Hawks', 1, 'SO', 'Hawks'],
     ['Bears', 3, 'Hawks', 5, 'REG', None],
     ['Lynx', 2, 'Bears', 1, 'OT', None],
     ['Otters', 5, 'Bears', 4, 'REG', None],
     ['Lynx', 1, 'Hawks', 1, 'SO', 'Lynx'],
     ['Bears', 3, 'Otters', 1, 'REG', None],
     ['Otters', 2, 'Hawks', 3, 'OT', None],
     ['Otters', 0, 'Lynx', 1, 'OT', None]],),
   [['Hawks', 7, 1, 2, 3, 3],
    ['Lynx', 6, 0, 2, 3, 3],
    ['Otters', 5, 1, 1, 1, -4],
    ['Bears', 3, 1, 1, 1, -2]])],
 [('control regulation win',
   ([['Bears', 3, 'Hawks', 1, 'REG', None]],),
   [['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]),
  ('boundary overtime loss point',
   ([['Bears', 2, 'Hawks', 3, 'OT', None]],),
   [['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary shootout goal credit',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Hawks']],),
   [['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary RW breaks tie',
   ([['Bears', 1, 'Lynx', 0, 'REG', None], ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 2, 1, 1, 1, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Lynx', 0, 0, 0, 0, -1]]),
  ('regression: rw row order',
   ([['Bears', 1, 'Lynx', 1, 'SO', 'Bears'],
     ['Bears', 1, 'Lynx', 0, 'OT', None],
     ['Hawks', 5, 'Lynx', 0, 'REG', None],
     ['Lynx', 5, 'Bears', 1, 'REG', None]],),
   [['Lynx', 4, 1, 1, 1, -3], ['Bears', 4, 0, 1, 2, -2], ['Hawks', 2, 1, 1, 1, 5]]),
  ('regression: rw row order',
   ([['Bears', 1, 'Hawks', 0, 'REG', None],
     ['Lynx', 0, 'Bears', 0, 'SO', 'Bears'],
     ['Bears', 5, 'Otters', 2, 'REG', None],
     ['Lynx', 4, 'Otters', 2, 'REG', None],
     ['Hawks', 4, 'Otters', 3, 'OT', None],
     ['Otters', 2, 'Bears', 4, 'REG', None],
     ['Hawks', 0, 'Otters', 1, 'REG', None],
     ['Otters', 0, 'Bears', 1, 'REG', None],
     ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 10, 4, 4, 5, 8],
    ['Otters', 4, 1, 1, 1, -9],
    ['Hawks', 4, 0, 2, 2, 0],
    ['Lynx', 3, 1, 1, 1, 1]]),
  ('variant scenario 1',
   ([['Hawks', 3, 'Otters', 5, 'REG', None],
     ['Lynx', 2, 'Otters', 2, 'SO', 'Otters'],
     ['Otters', 3, 'Lynx', 3, 'SO', 'Lynx']],),
   [['Otters', 5, 1, 1, 2, 2], ['Lynx', 3, 0, 0, 1, 0], ['Hawks', 0, 0, 0, 0, -2]]),
  ('variant scenario 2',
   ([['Otters', 3, 'Bears', 3, 'SO', 'Otters'],
     ['Otters', 1, 'Lynx', 5, 'REG', None],
     ['Otters', 3, 'Lynx', 1, 'REG', None],
     ['Hawks', 5, 'Otters', 0, 'REG', None],
     ['Hawks', 5, 'Lynx', 0, 'REG', None],
     ['Lynx', 2, 'Otters', 3, 'REG', None],
     ['Otters', 5, 'Bears', 3, 'REG', None],
     ['Lynx', 0, 'Otters', 2, 'REG', None]],),
   [['Otters', 10, 4, 4, 5, -1],
    ['Hawks', 4, 2, 2, 2, 10],
    ['Lynx', 2, 1, 1, 1, -6],
    ['Bears', 1, 0, 0, 0, -3]])],
 [('control regulation win',
   ([['Bears', 3, 'Hawks', 1, 'REG', None]],),
   [['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]),
  ('boundary overtime loss point',
   ([['Bears', 2, 'Hawks', 3, 'OT', None]],),
   [['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary shootout goal credit',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Hawks']],),
   [['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]),
  ('boundary RW breaks tie',
   ([['Bears', 1, 'Lynx', 0, 'REG', None], ['Hawks', 1, 'Otters', 0, 'OT', None]],),
   [['Bears', 2, 1, 1, 1, 1],
    ['Hawks', 2, 0, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Lynx', 0, 0, 0, 0, -1]]),
  ('regression: rw row order',
   ([['Otters', 1, 'Bears', 5, 'REG', None],
     ['Lynx', 0, 'Bears', 0, 'SO', 'Lynx'],
     ['Otters', 3, 'Lynx', 2, 'REG', None],
     ['Bears', 3, 'Lynx', 2, 'OT', None],
     ['Hawks', 3, 'Otters', 3, 'SO', 'Hawks'],
     ['Bears', 2, 'Lynx', 3, 'REG', None],
     ['Otters', 4, 'Bears', 4, 'SO', 'Bears'],
     ['Otters', 2, 'Lynx', 4, 'REG', None],
     ['Hawks', 3, 'Bears', 2, 'OT', None],
     ['Otters', 4, 'Lynx', 4, 'SO', 'Otters']],),
   [['Lynx', 8, 2, 2, 3, 1],
    ['Bears', 8, 1, 2, 3, 3],
    ['Otters', 6, 1, 1, 2, -6],
    ['Hawks', 4, 0, 1, 2, 2]]),
  ('regression: rw row order',
   ([['Otters', 3, 'Bears', 4, 'OT', None],
     ['Hawks', 0, 'Bears', 1, 'OT', None],
     ['Bears', 2, 'Otters', 5, 'REG', None],
     ['Hawks', 4, 'Lynx', 3, 'OT', None],
     ['Lynx', 2, 'Otters', 1, 'OT', None]],),
   [['Otters', 4, 1, 1, 1, 1],
    ['Bears', 4, 0, 2, 2, -1],
    ['Hawks', 3, 0, 1, 1, 0],
    ['Lynx', 3, 0, 1, 1, 0]]),
  ('variant scenario 1',
   ([['Bears', 3, 'Hawks', 5, 'REG', None],
     ['Hawks', 3, 'Lynx', 4, 'REG', None],
     ['Otters', 1, 'Lynx', 2, 'OT', None]],),
   [['Lynx', 4, 1, 2, 2, 2],
    ['Hawks', 2, 1, 1, 1, 1],
    ['Otters', 1, 0, 0, 0, -1],
    ['Bears', 0, 0, 0, 0, -2]]),
  ('variant scenario 2',
   ([['Bears', 2, 'Hawks', 2, 'SO', 'Bears'],
     ['Otters', 2, 'Bears', 2, 'SO', 'Bears'],
     ['Bears', 0, 'Hawks', 3, 'REG', None],
     ['Hawks', 2, 'Bears', 2, 'SO', 'Bears'],
     ['Lynx', 0, 'Hawks', 0, 'SO', 'Lynx'],
     ['Lynx', 5, 'Otters', 1, 'REG', None]],),
   [['Bears', 6, 0, 0, 3, 0],
    ['Hawks', 5, 1, 1, 1, 0],
    ['Lynx', 4, 1, 1, 2, 5],
    ['Otters', 1, 0, 0, 0, -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 regulation win[['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]][['Bears', 2, 1, 1, 1, 2], ['Hawks', 0, 0, 0, 0, -2]]Passed
boundary overtime loss point[['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]][['Hawks', 2, 0, 1, 1, 1], ['Bears', 1, 0, 0, 0, -1]]Passed
boundary shootout goal credit[['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]][['Hawks', 2, 0, 0, 1, 1], ['Bears', 1, 0, 0, 0, -1]]Passed
boundary RW breaks tie[['Bears', 2, 1, 1, 1, 1], ['Hawks', 2, 0, 1, 1, 1], ['Otters', 1, 0, 0, 0, -1], ['Lynx', 0, 0, 0, 0, -1]][['Bears', 2, 1, 1, 1, 1], ['Hawks', 2, 0, 1, 1, 1], ['Otters', 1, 0, 0, 0, -1], ['Lynx', 0, 0, 0, 0, -1]]Passed
regression: rw row order[['Bears', 4, 1, 1, 1, 0], ['Lynx', 4, 0, 1, 2, 0], ['Hawks', 3, 0, 0, 1, 0], ['Otters', 3, 0, 0, 1, 0]][['Bears', 4, 1, 1, 1, 0], ['Lynx', 4, 0, 1, 2, 0], ['Hawks', 3, 0, 0, 1, 0], ['Otters', 3, 0, 0, 1, 0]]Passed
regression: rw row order[['Lynx', 5, 1, 1, 2, 3], ['Bears', 5, 0, 2, 2, -2], ['Otters', 2, 0, 1, 1, 1], ['Hawks', 2, 0, 0, 0, -2]][['Lynx', 5, 1, 1, 2, 3], ['Bears', 5, 0, 2, 2, -2], ['Otters', 2, 0, 1, 1, 1], ['Hawks', 2, 0, 0, 0, -2]]Passed
variant scenario 1[['Bears', 4, 2, 2, 2, 2], ['Otters', 3, 1, 1, 1, -1], ['Hawks', 3, 0, 0, 1, 0], ['Lynx', 2, 0, 1, 1, -1]][['Bears', 4, 2, 2, 2, 2], ['Otters', 3, 1, 1, 1, -1], ['Hawks', 3, 0, 0, 1, 0], ['Lynx', 2, 0, 1, 1, -1]]Passed
variant scenario 2[['Lynx', 6, 1, 2, 3, 2], ['Bears', 4, 0, 1, 1, -2], ['Otters', 3, 1, 1, 1, -3], ['Hawks', 2, 1, 1, 1, 3]][['Lynx', 6, 1, 2, 3, 2], ['Bears', 4, 0, 1, 1, -2], ['Otters', 3, 1, 1, 1, -3], ['Hawks', 2, 1, 1, 1, 3]]Passed

SHA-256 / ef82df448aafdbb590e9826b6829a8702afcc7425896e336b5cad853990b2491

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.479163+00:00.

Case digest / 01521caf6b89d41ce8effffa047a410023108801752302aab40d4e6d1a7ae75a