FAILURE MAP
← Case archive

FA-85156 / Fantasy sports scoring / Open access

Three-goal game misses the hat-trick bonus · case 01

Only four-goal games receive the hat-trick bonus.

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

ROOT CAUSE

The hat-trick test requires more than three goals.

VERIFIED REPAIR

Award one bonus when goals are at least three.

Unsuccessful approach: Awarding a bonus per three goals doubles it for a six-goal night.

Case contract

Score a hockey skater in tenths: goal 3, assist 2, plus/minus 1 per unit (negative allowed), shot on goal 0.4, power-play points (goals plus assists) 0.5 extra each, short-handed points 1 extra each, and a single 2 point hat-trick bonus for three or more goals. Shootout goals (so_g) are not goals and score nothing.

Why this case matters

Special-teams extras, plus/minus signs and shootout exclusions are frequent skater scoring defects.

1 / The failure

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

N = 1
observations = []
def solve(g):
    pts = g['g'] * 30 + g['a'] * 20 + g['pm'] * 10 + g['sog'] * 4
    pts += (g['ppg'] + g['ppa']) * 5
    pts += (g['shg'] + g['sha']) * 10
    if g['g'] > 3:
        pts += 20
    return pts
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: hat trick bonus',
   [{'a': 1, 'g': 3, 'pm': 3, 'ppa': 2, 'ppg': 3, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 5}], 205),
  ('partial repair probe: hat trick bonus',
   [{'a': 3, 'g': 6, 'pm': -1, 'ppa': 2, 'ppg': 5, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 12}], 333),
  ('second regression',
   [{'a': 3, 'g': 6, 'pm': 2, 'ppa': 2, 'ppg': 3, 'sha': 0, 'shg': 1, 'so_g': 1, 'sog': 8}], 347),
  ('normal control 1',
   [{'a': 0, 'g': 4, 'pm': -2, 'ppa': 2, 'ppg': 4, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 10}], 200),
  ('normal control 2',
   [{'a': 2, 'g': 4, 'pm': -3, 'ppa': 1, 'ppg': 3, 'sha': 0, 'shg': 1, 'so_g': 0, 'sog': 8}], 212),
  ('normal control 3',
   [{'a': 0, 'g': 1, 'pm': -2, 'ppa': 2, 'ppg': 1, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 6}], 49),
  ('normal control 4',
   [{'a': 3, 'g': 2, 'pm': 2, 'ppa': 0, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 6}], 174)],
 [('regression: hat trick bonus',
   [{'a': 0, 'g': 3, 'pm': -3, 'ppa': 2, 'ppg': 3, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 9}], 141),
  ('partial repair probe: hat trick bonus',
   [{'a': 2, 'g': 6, 'pm': -3, 'ppa': 1, 'ppg': 2, 'sha': 1, 'shg': 1, 'so_g': 1, 'sog': 12}], 293),
  ('second regression',
   [{'a': 3, 'g': 3, 'pm': -2, 'ppa': 0, 'ppg': 0, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 6}], 174),
  ('normal control 1',
   [{'a': 3, 'g': 4, 'pm': -3, 'ppa': 2, 'ppg': 2, 'sha': 1, 'shg': 2, 'so_g': 1, 'sog': 8}], 252),
  ('normal control 2',
   [{'a': 0, 'g': 4, 'pm': -2, 'ppa': 0, 'ppg': 3, 'sha': 1, 'shg': 1, 'so_g': 1, 'sog': 7}], 183),
  ('normal control 3',
   [{'a': 3, 'g': 0, 'pm': -1, 'ppa': 0, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 1}], 64),
  ('normal control 4',
   [{'a': 0, 'g': 1, 'pm': -1, 'ppa': 2, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 3}], 52)],
 [('regression: hat trick bonus',
   [{'a': 0, 'g': 3, 'pm': -1, 'ppa': 2, 'ppg': 0, 'sha': 0, 'shg': 1, 'so_g': 1, 'sog': 3}], 132),
  ('partial repair probe: hat trick bonus',
   [{'a': 3, 'g': 6, 'pm': -3, 'ppa': 2, 'ppg': 1, 'sha': 1, 'shg': 5, 'so_g': 0, 'sog': 9}], 341),
  ('second regression',
   [{'a': 2, 'g': 3, 'pm': -2, 'ppa': 1, 'ppg': 0, 'sha': 1, 'shg': 2, 'so_g': 1, 'sog': 4}], 181),
  ('normal control 1',
   [{'a': 3, 'g': 4, 'pm': -1, 'ppa': 2, 'ppg': 0, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 9}], 236),
  ('normal control 2',
   [{'a': 3, 'g': 0, 'pm': 3, 'ppa': 2, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 3}], 122),
  ('normal control 3',
   [{'a': 3, 'g': 4, 'pm': 0, 'ppa': 1, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 0, 'sog': 9}], 251),
  ('normal control 4',
   [{'a': 2, 'g': 4, 'pm': -2, 'ppa': 2, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 5}], 200)],
 [('regression: hat trick bonus',
   [{'a': 0, 'g': 3, 'pm': 2, 'ppa': 0, 'ppg': 3, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 8}], 177),
  ('partial repair probe: hat trick bonus',
   [{'a': 1, 'g': 6, 'pm': 2, 'ppa': 2, 'ppg': 1, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 12}], 303),
  ('second regression',
   [{'a': 1, 'g': 3, 'pm': 1, 'ppa': 0, 'ppg': 0, 'sha': 1, 'shg': 1, 'so_g': 1, 'sog': 8}], 192),
  ('normal control 1',
   [{'a': 3, 'g': 0, 'pm': -3, 'ppa': 1, 'ppg': 0, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 0}], 35),
  ('normal control 2',
   [{'a': 1, 'g': 2, 'pm': -3, 'ppa': 2, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 6}], 94),
  ('normal control 3',
   [{'a': 0, 'g': 0, 'pm': 3, 'ppa': 0, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 0, 'sog': 4}], 56),
  ('normal control 4',
   [{'a': 3, 'g': 4, 'pm': -2, 'ppa': 1, 'ppg': 1, 'sha': 0, 'shg': 3, 'so_g': 0, 'sog': 9}], 256)],
 [('regression: hat trick bonus',
   [{'a': 2, 'g': 3, 'pm': -1, 'ppa': 1, 'ppg': 2, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 5}], 185),
  ('partial repair probe: hat trick bonus',
   [{'a': 3, 'g': 6, 'pm': -3, 'ppa': 2, 'ppg': 2, 'sha': 0, 'shg': 4, 'so_g': 0, 'sog': 8}], 322),
  ('second regression',
   [{'a': 1, 'g': 6, 'pm': 0, 'ppa': 2, 'ppg': 1, 'sha': 0, 'shg': 1, 'so_g': 1, 'sog': 7}], 273),
  ('normal control 1',
   [{'a': 0, 'g': 0, 'pm': -2, 'ppa': 2, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 2}], 8),
  ('normal control 2',
   [{'a': 2, 'g': 1, 'pm': 3, 'ppa': 1, 'ppg': 1, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 2}], 118),
  ('normal control 3',
   [{'a': 0, 'g': 1, 'pm': -3, 'ppa': 1, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 1}], 19),
  ('normal control 4',
   [{'a': 1, 'g': 1, 'pm': 2, 'ppa': 2, 'ppg': 1, 'sha': 1, 'shg': 0, 'so_g': 0, 'sog': 6}], 119)]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*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
regression: hat trick bonus185205Failed
partial repair probe: hat trick bonus333333Passed
second regression347347Passed
normal control 1200200Passed
normal control 2212212Passed
normal control 34949Passed
normal control 4174174Passed

SHA-256 / 7d0b74ce7235149365e9992a9ae3ac56863031a9cf6d4d4521784290d906000a

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(g):
    pts = g['g'] * 30 + g['a'] * 20 + g['pm'] * 10 + g['sog'] * 4
    pts += (g['ppg'] + g['ppa']) * 5
    pts += (g['shg'] + g['sha']) * 10
    pts += 20 * (g['g'] // 3)
    return pts
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: hat trick bonus',
   [{'a': 1, 'g': 3, 'pm': 3, 'ppa': 2, 'ppg': 3, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 5}], 205),
  ('partial repair probe: hat trick bonus',
   [{'a': 3, 'g': 6, 'pm': -1, 'ppa': 2, 'ppg': 5, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 12}], 333),
  ('second regression',
   [{'a': 3, 'g': 6, 'pm': 2, 'ppa': 2, 'ppg': 3, 'sha': 0, 'shg': 1, 'so_g': 1, 'sog': 8}], 347),
  ('normal control 1',
   [{'a': 0, 'g': 4, 'pm': -2, 'ppa': 2, 'ppg': 4, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 10}], 200),
  ('normal control 2',
   [{'a': 2, 'g': 4, 'pm': -3, 'ppa': 1, 'ppg': 3, 'sha': 0, 'shg': 1, 'so_g': 0, 'sog': 8}], 212),
  ('normal control 3',
   [{'a': 0, 'g': 1, 'pm': -2, 'ppa': 2, 'ppg': 1, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 6}], 49),
  ('normal control 4',
   [{'a': 3, 'g': 2, 'pm': 2, 'ppa': 0, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 6}], 174)],
 [('regression: hat trick bonus',
   [{'a': 0, 'g': 3, 'pm': -3, 'ppa': 2, 'ppg': 3, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 9}], 141),
  ('partial repair probe: hat trick bonus',
   [{'a': 2, 'g': 6, 'pm': -3, 'ppa': 1, 'ppg': 2, 'sha': 1, 'shg': 1, 'so_g': 1, 'sog': 12}], 293),
  ('second regression',
   [{'a': 3, 'g': 3, 'pm': -2, 'ppa': 0, 'ppg': 0, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 6}], 174),
  ('normal control 1',
   [{'a': 3, 'g': 4, 'pm': -3, 'ppa': 2, 'ppg': 2, 'sha': 1, 'shg': 2, 'so_g': 1, 'sog': 8}], 252),
  ('normal control 2',
   [{'a': 0, 'g': 4, 'pm': -2, 'ppa': 0, 'ppg': 3, 'sha': 1, 'shg': 1, 'so_g': 1, 'sog': 7}], 183),
  ('normal control 3',
   [{'a': 3, 'g': 0, 'pm': -1, 'ppa': 0, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 1}], 64),
  ('normal control 4',
   [{'a': 0, 'g': 1, 'pm': -1, 'ppa': 2, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 3}], 52)],
 [('regression: hat trick bonus',
   [{'a': 0, 'g': 3, 'pm': -1, 'ppa': 2, 'ppg': 0, 'sha': 0, 'shg': 1, 'so_g': 1, 'sog': 3}], 132),
  ('partial repair probe: hat trick bonus',
   [{'a': 3, 'g': 6, 'pm': -3, 'ppa': 2, 'ppg': 1, 'sha': 1, 'shg': 5, 'so_g': 0, 'sog': 9}], 341),
  ('second regression',
   [{'a': 2, 'g': 3, 'pm': -2, 'ppa': 1, 'ppg': 0, 'sha': 1, 'shg': 2, 'so_g': 1, 'sog': 4}], 181),
  ('normal control 1',
   [{'a': 3, 'g': 4, 'pm': -1, 'ppa': 2, 'ppg': 0, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 9}], 236),
  ('normal control 2',
   [{'a': 3, 'g': 0, 'pm': 3, 'ppa': 2, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 3}], 122),
  ('normal control 3',
   [{'a': 3, 'g': 4, 'pm': 0, 'ppa': 1, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 0, 'sog': 9}], 251),
  ('normal control 4',
   [{'a': 2, 'g': 4, 'pm': -2, 'ppa': 2, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 5}], 200)],
 [('regression: hat trick bonus',
   [{'a': 0, 'g': 3, 'pm': 2, 'ppa': 0, 'ppg': 3, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 8}], 177),
  ('partial repair probe: hat trick bonus',
   [{'a': 1, 'g': 6, 'pm': 2, 'ppa': 2, 'ppg': 1, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 12}], 303),
  ('second regression',
   [{'a': 1, 'g': 3, 'pm': 1, 'ppa': 0, 'ppg': 0, 'sha': 1, 'shg': 1, 'so_g': 1, 'sog': 8}], 192),
  ('normal control 1',
   [{'a': 3, 'g': 0, 'pm': -3, 'ppa': 1, 'ppg': 0, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 0}], 35),
  ('normal control 2',
   [{'a': 1, 'g': 2, 'pm': -3, 'ppa': 2, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 6}], 94),
  ('normal control 3',
   [{'a': 0, 'g': 0, 'pm': 3, 'ppa': 0, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 0, 'sog': 4}], 56),
  ('normal control 4',
   [{'a': 3, 'g': 4, 'pm': -2, 'ppa': 1, 'ppg': 1, 'sha': 0, 'shg': 3, 'so_g': 0, 'sog': 9}], 256)],
 [('regression: hat trick bonus',
   [{'a': 2, 'g': 3, 'pm': -1, 'ppa': 1, 'ppg': 2, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 5}], 185),
  ('partial repair probe: hat trick bonus',
   [{'a': 3, 'g': 6, 'pm': -3, 'ppa': 2, 'ppg': 2, 'sha': 0, 'shg': 4, 'so_g': 0, 'sog': 8}], 322),
  ('second regression',
   [{'a': 1, 'g': 6, 'pm': 0, 'ppa': 2, 'ppg': 1, 'sha': 0, 'shg': 1, 'so_g': 1, 'sog': 7}], 273),
  ('normal control 1',
   [{'a': 0, 'g': 0, 'pm': -2, 'ppa': 2, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 2}], 8),
  ('normal control 2',
   [{'a': 2, 'g': 1, 'pm': 3, 'ppa': 1, 'ppg': 1, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 2}], 118),
  ('normal control 3',
   [{'a': 0, 'g': 1, 'pm': -3, 'ppa': 1, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 1}], 19),
  ('normal control 4',
   [{'a': 1, 'g': 1, 'pm': 2, 'ppa': 2, 'ppg': 1, 'sha': 1, 'shg': 0, 'so_g': 0, 'sog': 6}], 119)]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*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
regression: hat trick bonus205205Passed
partial repair probe: hat trick bonus353333Failed
second regression367347Failed
normal control 1200200Passed
normal control 2212212Passed
normal control 34949Passed
normal control 4174174Passed

SHA-256 / f905ec3e4905c41383088482cc03bf9692379b354d50bb3e9b04d8d37921df5a

3 / The verified repair

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

N = 1
observations = []
def solve(g):
    pts = g['g'] * 30 + g['a'] * 20 + g['pm'] * 10 + g['sog'] * 4
    pts += (g['ppg'] + g['ppa']) * 5
    pts += (g['shg'] + g['sha']) * 10
    if g['g'] >= 3:
        pts += 20
    return pts
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: hat trick bonus',
   [{'a': 1, 'g': 3, 'pm': 3, 'ppa': 2, 'ppg': 3, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 5}], 205),
  ('partial repair probe: hat trick bonus',
   [{'a': 3, 'g': 6, 'pm': -1, 'ppa': 2, 'ppg': 5, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 12}], 333),
  ('second regression',
   [{'a': 3, 'g': 6, 'pm': 2, 'ppa': 2, 'ppg': 3, 'sha': 0, 'shg': 1, 'so_g': 1, 'sog': 8}], 347),
  ('normal control 1',
   [{'a': 0, 'g': 4, 'pm': -2, 'ppa': 2, 'ppg': 4, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 10}], 200),
  ('normal control 2',
   [{'a': 2, 'g': 4, 'pm': -3, 'ppa': 1, 'ppg': 3, 'sha': 0, 'shg': 1, 'so_g': 0, 'sog': 8}], 212),
  ('normal control 3',
   [{'a': 0, 'g': 1, 'pm': -2, 'ppa': 2, 'ppg': 1, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 6}], 49),
  ('normal control 4',
   [{'a': 3, 'g': 2, 'pm': 2, 'ppa': 0, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 6}], 174)],
 [('regression: hat trick bonus',
   [{'a': 0, 'g': 3, 'pm': -3, 'ppa': 2, 'ppg': 3, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 9}], 141),
  ('partial repair probe: hat trick bonus',
   [{'a': 2, 'g': 6, 'pm': -3, 'ppa': 1, 'ppg': 2, 'sha': 1, 'shg': 1, 'so_g': 1, 'sog': 12}], 293),
  ('second regression',
   [{'a': 3, 'g': 3, 'pm': -2, 'ppa': 0, 'ppg': 0, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 6}], 174),
  ('normal control 1',
   [{'a': 3, 'g': 4, 'pm': -3, 'ppa': 2, 'ppg': 2, 'sha': 1, 'shg': 2, 'so_g': 1, 'sog': 8}], 252),
  ('normal control 2',
   [{'a': 0, 'g': 4, 'pm': -2, 'ppa': 0, 'ppg': 3, 'sha': 1, 'shg': 1, 'so_g': 1, 'sog': 7}], 183),
  ('normal control 3',
   [{'a': 3, 'g': 0, 'pm': -1, 'ppa': 0, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 1}], 64),
  ('normal control 4',
   [{'a': 0, 'g': 1, 'pm': -1, 'ppa': 2, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 3}], 52)],
 [('regression: hat trick bonus',
   [{'a': 0, 'g': 3, 'pm': -1, 'ppa': 2, 'ppg': 0, 'sha': 0, 'shg': 1, 'so_g': 1, 'sog': 3}], 132),
  ('partial repair probe: hat trick bonus',
   [{'a': 3, 'g': 6, 'pm': -3, 'ppa': 2, 'ppg': 1, 'sha': 1, 'shg': 5, 'so_g': 0, 'sog': 9}], 341),
  ('second regression',
   [{'a': 2, 'g': 3, 'pm': -2, 'ppa': 1, 'ppg': 0, 'sha': 1, 'shg': 2, 'so_g': 1, 'sog': 4}], 181),
  ('normal control 1',
   [{'a': 3, 'g': 4, 'pm': -1, 'ppa': 2, 'ppg': 0, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 9}], 236),
  ('normal control 2',
   [{'a': 3, 'g': 0, 'pm': 3, 'ppa': 2, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 3}], 122),
  ('normal control 3',
   [{'a': 3, 'g': 4, 'pm': 0, 'ppa': 1, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 0, 'sog': 9}], 251),
  ('normal control 4',
   [{'a': 2, 'g': 4, 'pm': -2, 'ppa': 2, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 5}], 200)],
 [('regression: hat trick bonus',
   [{'a': 0, 'g': 3, 'pm': 2, 'ppa': 0, 'ppg': 3, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 8}], 177),
  ('partial repair probe: hat trick bonus',
   [{'a': 1, 'g': 6, 'pm': 2, 'ppa': 2, 'ppg': 1, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 12}], 303),
  ('second regression',
   [{'a': 1, 'g': 3, 'pm': 1, 'ppa': 0, 'ppg': 0, 'sha': 1, 'shg': 1, 'so_g': 1, 'sog': 8}], 192),
  ('normal control 1',
   [{'a': 3, 'g': 0, 'pm': -3, 'ppa': 1, 'ppg': 0, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 0}], 35),
  ('normal control 2',
   [{'a': 1, 'g': 2, 'pm': -3, 'ppa': 2, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 6}], 94),
  ('normal control 3',
   [{'a': 0, 'g': 0, 'pm': 3, 'ppa': 0, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 0, 'sog': 4}], 56),
  ('normal control 4',
   [{'a': 3, 'g': 4, 'pm': -2, 'ppa': 1, 'ppg': 1, 'sha': 0, 'shg': 3, 'so_g': 0, 'sog': 9}], 256)],
 [('regression: hat trick bonus',
   [{'a': 2, 'g': 3, 'pm': -1, 'ppa': 1, 'ppg': 2, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 5}], 185),
  ('partial repair probe: hat trick bonus',
   [{'a': 3, 'g': 6, 'pm': -3, 'ppa': 2, 'ppg': 2, 'sha': 0, 'shg': 4, 'so_g': 0, 'sog': 8}], 322),
  ('second regression',
   [{'a': 1, 'g': 6, 'pm': 0, 'ppa': 2, 'ppg': 1, 'sha': 0, 'shg': 1, 'so_g': 1, 'sog': 7}], 273),
  ('normal control 1',
   [{'a': 0, 'g': 0, 'pm': -2, 'ppa': 2, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 2}], 8),
  ('normal control 2',
   [{'a': 2, 'g': 1, 'pm': 3, 'ppa': 1, 'ppg': 1, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 2}], 118),
  ('normal control 3',
   [{'a': 0, 'g': 1, 'pm': -3, 'ppa': 1, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 1}], 19),
  ('normal control 4',
   [{'a': 1, 'g': 1, 'pm': 2, 'ppa': 2, 'ppg': 1, 'sha': 1, 'shg': 0, 'so_g': 0, 'sog': 6}], 119)]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*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
regression: hat trick bonus205205Passed
partial repair probe: hat trick bonus333333Passed
second regression347347Passed
normal control 1200200Passed
normal control 2212212Passed
normal control 34949Passed
normal control 4174174Passed

SHA-256 / 53bd5ee7ac2fa0d57169fc55c60981b7369aca5c2890c203df92e86ce09613ea

Verification & scope

A deterministic toy scoring contract stipulated for this example; it is not the rulebook of any real fantasy platform. 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:37.819407+00:00.

Case digest / d376408531f15617a4fee6a7e3e0f26421c110d6832db203d53cade874332f62