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.
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| 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