FAILURE MAP
← Case archive

FA-84871 / Fantasy sports scoring / Open access

Passing yards scored fractionally instead of per full 25 yards · case 01

A 310-yard passer earns 12.4 passing points where the league awards 12.

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

ROOT CAUSE

Passing yards accrue 0.04 per yard instead of whole points per completed 25-yard unit.

VERIFIED REPAIR

Count full 25-yard units truncated toward zero.

Unsuccessful approach: Flooring the fractional total fixes positive yardage but floors negative passing yards away from zero.

Case contract

Score a skill-player stat line in integer hundredths. Passing yards earn 1 point per full 25 yards, rushing and receiving yards 1 point per full 10 yards, each category truncated toward zero separately. Pass TD 4, interception -2, rush/receiving TD 6, fumble lost -2 (fumbles recovered by the own team are free), two-point conversion 2, each first down 0.25. Receptions are worth 0/0.5/1 for std/half/ppr, and a TE earns an extra 0.5 per reception on top. 300+ passing, 100+ rushing and 100+ receiving yards each add a 3 point bonus. The display string rounds to tenths half away from zero and never shows -0.0.

Why this case matters

Fantasy football points drive weekly matchups and payouts; small unit or boundary mistakes flip results that users dispute.

1 / The failure

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

N = 1
observations = []
def solve(stats, fmt, pos):
    def unit(y, per):
        q = abs(y) // per
        return q if y >= 0 else -q
    rec_val = {'std': 0, 'half': 50, 'ppr': 100}[fmt]
    if pos == 'TE':
        rec_val += 50
    pts = 0
    pts += stats['pass_yds'] * 4
    pts += stats['pass_td'] * 400
    pts -= stats['int'] * 200
    pts += unit(stats['rush_yds'], 10) * 100
    pts += stats['rush_td'] * 600
    pts += stats['rec'] * rec_val
    pts += unit(stats['rec_yds'], 10) * 100
    pts += stats['rec_td'] * 600
    pts -= stats['fum_lost'] * 200
    pts += stats['two_pt'] * 200
    pts += stats['first_downs'] * 25
    if stats['pass_yds'] >= 300:
        pts += 300
    if stats['rush_yds'] >= 100:
        pts += 300
    if stats['rec_yds'] >= 100:
        pts += 300
    t = (abs(pts) + 5) // 10
    sign = '-' if pts < 0 and t else ''
    return {'hundredths': pts, 'display': '%s%d.%d' % (sign, t // 10, t % 10)}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: passing yard granularity',
   [{'first_downs': 1,
     'fum': 0,
     'fum_lost': 0,
     'int': 2,
     'pass_td': 0,
     'pass_yds': 193,
     'rec': 1,
     'rec_td': 1,
     'rec_yds': 42,
     'rush_td': 0,
     'rush_yds': -3,
     'two_pt': 1},
    'ppr', 'RB'],
   {'display': '16.3', 'hundredths': 1625}),
  ('partial repair probe: passing yard granularity',
   [{'first_downs': 1,
     'fum': 0,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 3,
     'pass_yds': -12,
     'rec': 6,
     'rec_td': 1,
     'rec_yds': 100,
     'rush_td': 2,
     'rush_yds': 9,
     'two_pt': 1},
    'std', 'WR'],
   {'display': '43.3', 'hundredths': 4325}),
  ('second regression',
   [{'first_downs': 7,
     'fum': 0,
     'fum_lost': 0,
     'int': 3,
     'pass_td': 2,
     'pass_yds': 278,
     'rec': 10,
     'rec_td': 0,
     'rec_yds': 20,
     'rush_td': 2,
     'rush_yds': 46,
     'two_pt': 1},
    'std', 'QB'],
   {'display': '34.8', 'hundredths': 3475}),
  ('normal control 1',
   [{'first_downs': 4,
     'fum': 2,
     'fum_lost': 0,
     'int': 0,
     'pass_td': 3,
     'pass_yds': 25,
     'rec': 11,
     'rec_td': 0,
     'rec_yds': -2,
     'rush_td': 2,
     'rush_yds': -7,
     'two_pt': 1},
    'half', 'TE'],
   {'display': '39.0', 'hundredths': 3900}),
  ('normal control 2',
   [{'first_downs': 0,
     'fum': 0,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 2,
     'pass_yds': 325,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 91,
     'rush_td': 2,
     'rush_yds': 99,
     'two_pt': 0},
    'half', 'RB'],
   {'display': '52.0', 'hundredths': 5200}),
  ('normal control 3',
   [{'first_downs': 4,
     'fum': 3,
     'fum_lost': 2,
     'int': 0,
     'pass_td': 2,
     'pass_yds': 300,
     'rec': 11,
     'rec_td': 0,
     'rec_yds': 19,
     'rush_td': 0,
     'rush_yds': -14,
     'two_pt': 1},
    'std', 'TE'],
   {'display': '27.5', 'hundredths': 2750}),
  ('normal control 4',
   [{'first_downs': 1,
     'fum': 0,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 0,
     'pass_yds': 300,
     'rec': 2,
     'rec_td': 1,
     'rec_yds': 147,
     'rush_td': 1,
     'rush_yds': 100,
     'two_pt': 0},
    'std', 'QB'],
   {'display': '55.3', 'hundredths': 5525})],
 [('regression: passing yard granularity',
   [{'first_downs': 1,
     'fum': 0,
     'fum_lost': 0,
     'int': 3,
     'pass_td': 3,
     'pass_yds': 173,
     'rec': 1,
     'rec_td': 0,
     'rec_yds': 20,
     'rush_td': 0,
     'rush_yds': 147,
     'two_pt': 1},
    'ppr', 'WR'],
   {'display': '34.3', 'hundredths': 3425}),
  ('partial repair probe: passing yard granularity',
   [{'first_downs': 5,
     'fum': 2,
     'fum_lost': 1,
     'int': 1,
     'pass_td': 0,
     'pass_yds': -11,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 0,
     'rush_td': 0,
     'rush_yds': 10,
     'two_pt': 0},
    'std', 'RB'],
   {'display': '-1.8', 'hundredths': -175}),
  ('second regression',
   [{'first_downs': 8,
     'fum': 3,
     'fum_lost': 3,
     'int': 2,
     'pass_td': 0,
     'pass_yds': 247,
     'rec': 5,
     'rec_td': 1,
     'rec_yds': 108,
     'rush_td': 0,
     'rush_yds': 105,
     'two_pt': 0},
    'std', 'QB'],
   {'display': '33.0', 'hundredths': 3300}),
  ('normal control 1',
   [{'first_downs': 1,
     'fum': 1,
     'fum_lost': 1,
     'int': 0,
     'pass_td': 4,
     'pass_yds': 300,
     'rec': 9,
     'rec_td': 1,
     'rec_yds': 20,
     'rush_td': 2,
     'rush_yds': -1,
     'two_pt': 0},
    'std', 'RB'],
   {'display': '49.3', 'hundredths': 4925}),
  ('normal control 2',
   [{'first_downs': 3,
     'fum': 1,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 4,
     'pass_yds': 25,
     'rec': 9,
     'rec_td': 2,
     'rec_yds': -4,
     'rush_td': 0,
     'rush_yds': 82,
     'two_pt': 0},
    'half', 'WR'],
   {'display': '40.3', 'hundredths': 4025}),
  ('normal control 3',
   [{'first_downs': 3,
     'fum': 0,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 4,
     'pass_yds': 25,
     'rec': 6,
     'rec_td': 1,
     'rec_yds': 63,
     'rush_td': 2,
     'rush_yds': 4,
     'two_pt': 1},
    'ppr', 'TE'],
   {'display': '50.8', 'hundredths': 5075}),
  ('normal control 4',
   [{'first_downs': 9,
     'fum': 0,
     'fum_lost': 0,
     'int': 0,
     'pass_td': 0,
     'pass_yds': 325,
     'rec': 2,
     'rec_td': 0,
     'rec_yds': 19,
     'rush_td': 0,
     'rush_yds': -7,
     'two_pt': 1},
    'ppr', 'TE'],
   {'display': '24.3', 'hundredths': 2425})],
 [('regression: passing yard granularity',
   [{'first_downs': 2,
     'fum': 2,
     'fum_lost': 1,
     'int': 2,
     'pass_td': 0,
     'pass_yds': 16,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 0,
     'rush_td': 0,
     'rush_yds': 11,
     'two_pt': 0},
    'half', 'RB'],
   {'display': '-4.5', 'hundredths': -450}),
  ('partial repair probe: passing yard granularity',
   [{'first_downs': 0,
     'fum': 2,
     'fum_lost': 2,
     'int': 0,
     'pass_td': 0,
     'pass_yds': -12,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 0,
     'rush_td': 0,
     'rush_yds': 10,
     'two_pt': 0},
    'ppr', 'RB'],
   {'display': '-3.0', 'hundredths': -300}),
  ('second regression',
   [{'first_downs': 3,
     'fum': 1,
     'fum_lost': 1,
     'int': 1,
     'pass_td': 0,
     'pass_yds': 376,
     'rec': 6,
     'rec_td': 2,
     'rec_yds': 69,
     'rush_td': 1,
     'rush_yds': -7,
     'two_pt': 0},
    'half', 'RB'],
   {'display': '41.8', 'hundredths': 4175}),
  ('normal control 1',
   [{'first_downs': 3,
     'fum': 3,
     'fum_lost': 1,
     'int': 2,
     'pass_td': 3,
     'pass_yds': 25,
     'rec': 7,
     'rec_td': 1,
     'rec_yds': 5,
     'rush_td': 2,
     'rush_yds': 118,
     'two_pt': 1},
    'std', 'WR'],
   {'display': '41.8', 'hundredths': 4175}),
  ('normal control 2',
   [{'first_downs': 7,
     'fum': 1,
     'fum_lost': 0,
     'int': 0,
     'pass_td': 1,
     'pass_yds': 300,
     'rec': 11,
     'rec_td': 0,
     'rec_yds': 95,
     'rush_td': 0,
     'rush_yds': -7,
     'two_pt': 0},
    'ppr', 'RB'],
   {'display': '40.8', 'hundredths': 4075}),
  ('normal control 3',
   [{'first_downs': 1,
     'fum': 1,
     'fum_lost': 1,
     'int': 3,
     'pass_td': 3,
     'pass_yds': 25,
     'rec': 5,
     'rec_td': 0,
     'rec_yds': 124,
     'rush_td': 2,
     'rush_yds': 152,
     'two_pt': 1},
    'ppr', 'RB'],
   {'display': '57.3', 'hundredths': 5725}),
  ('normal control 4',
   [{'first_downs': 9,
     'fum': 2,
     'fum_lost': 1,
     'int': 3,
     'pass_td': 0,
     'pass_yds': 0,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 0,
     'rush_td': 0,
     'rush_yds': 5,
     'two_pt': 0},
    'ppr', 'QB'],
   {'display': '-5.8', 'hundredths': -575})],
 [('regression: passing yard granularity',
   [{'first_downs': 9,
     'fum': 1,
     'fum_lost': 1,
     'int': 3,
     'pass_td': 1,
     'pass_yds': 305,
     'rec': 2,
     'rec_td': 2,
     'rec_yds': 20,
     'rush_td': 2,
     'rush_yds': 155,
     'two_pt': 0},
    'half', 'RB'],
   {'display': '58.3', 'hundredths': 5825}),
  ('partial repair probe: passing yard granularity',
   [{'first_downs': 9,
     'fum': 2,
     'fum_lost': 1,
     'int': 2,
     'pass_td': 2,
     'pass_yds': -3,
     'rec': 4,
     'rec_td': 1,
     'rec_yds': 75,
     'rush_td': 0,
     'rush_yds': 100,
     'two_pt': 0},
    'half', 'WR'],
   {'display': '32.3', 'hundredths': 3225}),
  ('second regression',
   [{'first_downs': 0,
     'fum': 3,
     'fum_lost': 1,
     'int': 1,
     'pass_td': 2,
     'pass_yds': 1,
     'rec': 6,
     'rec_td': 2,
     'rec_yds': 99,
     'rush_td': 1,
     'rush_yds': 90,
     'two_pt': 0},
    'ppr', 'TE'],
   {'display': '49.0', 'hundredths': 4900}),
  ('normal control 1',
   [{'first_downs': 9,
     'fum': 1,
     'fum_lost': 1,
     'int': 0,
     'pass_td': 2,
     'pass_yds': 325,
     'rec': 8,
     'rec_td': 2,
     'rec_yds': 20,
     'rush_td': 2,
     'rush_yds': 124,
     'two_pt': 1},
    'std', 'WR'],
   {'display': '67.3', 'hundredths': 6725}),
  ('normal control 2',
   [{'first_downs': 4,
     'fum': 0,
     'fum_lost': 0,
     'int': 2,
     'pass_td': 1,
     'pass_yds': 25,
     'rec': 10,
     'rec_td': 1,
     'rec_yds': 43,
     'rush_td': 0,
     'rush_yds': 9,
     'two_pt': 0},
    'std', 'TE'],
   {'display': '17.0', 'hundredths': 1700}),
  ('normal control 3',
   [{'first_downs': 5,
     'fum': 1,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 3,
     'pass_yds': 325,
     'rec': 4,
     'rec_td': 1,
     'rec_yds': 141,
     'rush_td': 0,
     'rush_yds': 88,
     'two_pt': 1},
    'ppr', 'RB'],
   {'display': '64.3', 'hundredths': 6425}),
  ('normal control 4',
   [{'first_downs': 8,
     'fum': 2,
     'fum_lost': 2,
     'int': 2,
     'pass_td': 0,
     'pass_yds': 300,
     'rec': 5,
     'rec_td': 1,
     'rec_yds': 99,
     'rush_td': 0,
     'rush_yds': -3,
     'two_pt': 1},
    'half', 'TE'],
   {'display': '31.0', 'hundredths': 3100})],
 [('regression: passing yard granularity',
   [{'first_downs': 1,
     'fum': 3,
     'fum_lost': 0,
     'int': 0,
     'pass_td': 3,
     'pass_yds': -3,
     'rec': 1,
     'rec_td': 1,
     'rec_yds': 115,
     'rush_td': 0,
     'rush_yds': 85,
     'two_pt': 1},
    'half', 'TE'],
   {'display': '43.3', 'hundredths': 4325}),
  ('partial repair probe: passing yard granularity',
   [{'first_downs': 5,
     'fum': 2,
     'fum_lost': 2,
     'int': 0,
     'pass_td': 0,
     'pass_yds': -6,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 0,
     'rush_td': 0,
     'rush_yds': 7,
     'two_pt': 0},
    'std', 'WR'],
   {'display': '-2.8', 'hundredths': -275}),
  ('second regression',
   [{'first_downs': 1,
     'fum': 3,
     'fum_lost': 2,
     'int': 1,
     'pass_td': 2,
     'pass_yds': 190,
     'rec': 6,
     'rec_td': 0,
     'rec_yds': 149,
     'rush_td': 1,
     'rush_yds': 100,
     'two_pt': 1},
    'ppr', 'RB'],
   {'display': '53.3', 'hundredths': 5325}),
  ('normal control 1',
   [{'first_downs': 2,
     'fum': 0,
     'fum_lost': 0,
     'int': 3,
     'pass_td': 3,
     'pass_yds': 25,
     'rec': 5,
     'rec_td': 2,
     'rec_yds': 20,
     'rush_td': 0,
     'rush_yds': 70,
     'two_pt': 1},
    'ppr', 'TE'],
   {'display': '38.0', 'hundredths': 3800}),
  ('normal control 2',
   [{'first_downs': 0,
     'fum': 0,
     'fum_lost': 0,
     'int': 2,
     'pass_td': 1,
     'pass_yds': 300,
     'rec': 4,
     'rec_td': 1,
     'rec_yds': 63,
     'rush_td': 2,
     'rush_yds': 32,
     'two_pt': 1},
    'std', 'TE'],
   {'display': '46.0', 'hundredths': 4600}),
  ('normal control 3',
   [{'first_downs': 4,
     'fum': 0,
     'fum_lost': 0,
     'int': 3,
     'pass_td': 0,
     'pass_yds': 300,
     'rec': 7,
     'rec_td': 0,
     'rec_yds': 94,
     'rush_td': 2,
     'rush_yds': 55,
     'two_pt': 1},
    'ppr', 'TE'],
   {'display': '48.5', 'hundredths': 4850}),
  ('normal control 4',
   [{'first_downs': 3,
     'fum': 0,
     'fum_lost': 0,
     'int': 0,
     'pass_td': 2,
     'pass_yds': 25,
     'rec': 1,
     'rec_td': 2,
     'rec_yds': -3,
     'rush_td': 1,
     'rush_yds': 57,
     'two_pt': 0},
    'half', 'RB'],
   {'display': '33.3', 'hundredths': 3325})]]
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: passing yard granularity{'display': '17.0', 'hundredths': 1697}{'display': '16.3', 'hundredths': 1625}Failed
partial repair probe: passing yard granularity{'display': '42.8', 'hundredths': 4277}{'display': '43.3', 'hundredths': 4325}Failed
second regression{'display': '34.9', 'hundredths': 3487}{'display': '34.8', 'hundredths': 3475}Failed
normal control 1{'display': '39.0', 'hundredths': 3900}{'display': '39.0', 'hundredths': 3900}Passed
normal control 2{'display': '52.0', 'hundredths': 5200}{'display': '52.0', 'hundredths': 5200}Passed
normal control 3{'display': '27.5', 'hundredths': 2750}{'display': '27.5', 'hundredths': 2750}Passed
normal control 4{'display': '55.3', 'hundredths': 5525}{'display': '55.3', 'hundredths': 5525}Passed

SHA-256 / 29482ec36d4b0523e62cbb99b3e63dfedf49b820f581fb02a10a710b6b7aaf89

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(stats, fmt, pos):
    def unit(y, per):
        q = abs(y) // per
        return q if y >= 0 else -q
    rec_val = {'std': 0, 'half': 50, 'ppr': 100}[fmt]
    if pos == 'TE':
        rec_val += 50
    pts = 0
    pts += stats['pass_yds'] * 4 // 100 * 100
    pts += stats['pass_td'] * 400
    pts -= stats['int'] * 200
    pts += unit(stats['rush_yds'], 10) * 100
    pts += stats['rush_td'] * 600
    pts += stats['rec'] * rec_val
    pts += unit(stats['rec_yds'], 10) * 100
    pts += stats['rec_td'] * 600
    pts -= stats['fum_lost'] * 200
    pts += stats['two_pt'] * 200
    pts += stats['first_downs'] * 25
    if stats['pass_yds'] >= 300:
        pts += 300
    if stats['rush_yds'] >= 100:
        pts += 300
    if stats['rec_yds'] >= 100:
        pts += 300
    t = (abs(pts) + 5) // 10
    sign = '-' if pts < 0 and t else ''
    return {'hundredths': pts, 'display': '%s%d.%d' % (sign, t // 10, t % 10)}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: passing yard granularity',
   [{'first_downs': 1,
     'fum': 0,
     'fum_lost': 0,
     'int': 2,
     'pass_td': 0,
     'pass_yds': 193,
     'rec': 1,
     'rec_td': 1,
     'rec_yds': 42,
     'rush_td': 0,
     'rush_yds': -3,
     'two_pt': 1},
    'ppr', 'RB'],
   {'display': '16.3', 'hundredths': 1625}),
  ('partial repair probe: passing yard granularity',
   [{'first_downs': 1,
     'fum': 0,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 3,
     'pass_yds': -12,
     'rec': 6,
     'rec_td': 1,
     'rec_yds': 100,
     'rush_td': 2,
     'rush_yds': 9,
     'two_pt': 1},
    'std', 'WR'],
   {'display': '43.3', 'hundredths': 4325}),
  ('second regression',
   [{'first_downs': 7,
     'fum': 0,
     'fum_lost': 0,
     'int': 3,
     'pass_td': 2,
     'pass_yds': 278,
     'rec': 10,
     'rec_td': 0,
     'rec_yds': 20,
     'rush_td': 2,
     'rush_yds': 46,
     'two_pt': 1},
    'std', 'QB'],
   {'display': '34.8', 'hundredths': 3475}),
  ('normal control 1',
   [{'first_downs': 4,
     'fum': 2,
     'fum_lost': 0,
     'int': 0,
     'pass_td': 3,
     'pass_yds': 25,
     'rec': 11,
     'rec_td': 0,
     'rec_yds': -2,
     'rush_td': 2,
     'rush_yds': -7,
     'two_pt': 1},
    'half', 'TE'],
   {'display': '39.0', 'hundredths': 3900}),
  ('normal control 2',
   [{'first_downs': 0,
     'fum': 0,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 2,
     'pass_yds': 325,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 91,
     'rush_td': 2,
     'rush_yds': 99,
     'two_pt': 0},
    'half', 'RB'],
   {'display': '52.0', 'hundredths': 5200}),
  ('normal control 3',
   [{'first_downs': 4,
     'fum': 3,
     'fum_lost': 2,
     'int': 0,
     'pass_td': 2,
     'pass_yds': 300,
     'rec': 11,
     'rec_td': 0,
     'rec_yds': 19,
     'rush_td': 0,
     'rush_yds': -14,
     'two_pt': 1},
    'std', 'TE'],
   {'display': '27.5', 'hundredths': 2750}),
  ('normal control 4',
   [{'first_downs': 1,
     'fum': 0,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 0,
     'pass_yds': 300,
     'rec': 2,
     'rec_td': 1,
     'rec_yds': 147,
     'rush_td': 1,
     'rush_yds': 100,
     'two_pt': 0},
    'std', 'QB'],
   {'display': '55.3', 'hundredths': 5525})],
 [('regression: passing yard granularity',
   [{'first_downs': 1,
     'fum': 0,
     'fum_lost': 0,
     'int': 3,
     'pass_td': 3,
     'pass_yds': 173,
     'rec': 1,
     'rec_td': 0,
     'rec_yds': 20,
     'rush_td': 0,
     'rush_yds': 147,
     'two_pt': 1},
    'ppr', 'WR'],
   {'display': '34.3', 'hundredths': 3425}),
  ('partial repair probe: passing yard granularity',
   [{'first_downs': 5,
     'fum': 2,
     'fum_lost': 1,
     'int': 1,
     'pass_td': 0,
     'pass_yds': -11,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 0,
     'rush_td': 0,
     'rush_yds': 10,
     'two_pt': 0},
    'std', 'RB'],
   {'display': '-1.8', 'hundredths': -175}),
  ('second regression',
   [{'first_downs': 8,
     'fum': 3,
     'fum_lost': 3,
     'int': 2,
     'pass_td': 0,
     'pass_yds': 247,
     'rec': 5,
     'rec_td': 1,
     'rec_yds': 108,
     'rush_td': 0,
     'rush_yds': 105,
     'two_pt': 0},
    'std', 'QB'],
   {'display': '33.0', 'hundredths': 3300}),
  ('normal control 1',
   [{'first_downs': 1,
     'fum': 1,
     'fum_lost': 1,
     'int': 0,
     'pass_td': 4,
     'pass_yds': 300,
     'rec': 9,
     'rec_td': 1,
     'rec_yds': 20,
     'rush_td': 2,
     'rush_yds': -1,
     'two_pt': 0},
    'std', 'RB'],
   {'display': '49.3', 'hundredths': 4925}),
  ('normal control 2',
   [{'first_downs': 3,
     'fum': 1,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 4,
     'pass_yds': 25,
     'rec': 9,
     'rec_td': 2,
     'rec_yds': -4,
     'rush_td': 0,
     'rush_yds': 82,
     'two_pt': 0},
    'half', 'WR'],
   {'display': '40.3', 'hundredths': 4025}),
  ('normal control 3',
   [{'first_downs': 3,
     'fum': 0,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 4,
     'pass_yds': 25,
     'rec': 6,
     'rec_td': 1,
     'rec_yds': 63,
     'rush_td': 2,
     'rush_yds': 4,
     'two_pt': 1},
    'ppr', 'TE'],
   {'display': '50.8', 'hundredths': 5075}),
  ('normal control 4',
   [{'first_downs': 9,
     'fum': 0,
     'fum_lost': 0,
     'int': 0,
     'pass_td': 0,
     'pass_yds': 325,
     'rec': 2,
     'rec_td': 0,
     'rec_yds': 19,
     'rush_td': 0,
     'rush_yds': -7,
     'two_pt': 1},
    'ppr', 'TE'],
   {'display': '24.3', 'hundredths': 2425})],
 [('regression: passing yard granularity',
   [{'first_downs': 2,
     'fum': 2,
     'fum_lost': 1,
     'int': 2,
     'pass_td': 0,
     'pass_yds': 16,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 0,
     'rush_td': 0,
     'rush_yds': 11,
     'two_pt': 0},
    'half', 'RB'],
   {'display': '-4.5', 'hundredths': -450}),
  ('partial repair probe: passing yard granularity',
   [{'first_downs': 0,
     'fum': 2,
     'fum_lost': 2,
     'int': 0,
     'pass_td': 0,
     'pass_yds': -12,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 0,
     'rush_td': 0,
     'rush_yds': 10,
     'two_pt': 0},
    'ppr', 'RB'],
   {'display': '-3.0', 'hundredths': -300}),
  ('second regression',
   [{'first_downs': 3,
     'fum': 1,
     'fum_lost': 1,
     'int': 1,
     'pass_td': 0,
     'pass_yds': 376,
     'rec': 6,
     'rec_td': 2,
     'rec_yds': 69,
     'rush_td': 1,
     'rush_yds': -7,
     'two_pt': 0},
    'half', 'RB'],
   {'display': '41.8', 'hundredths': 4175}),
  ('normal control 1',
   [{'first_downs': 3,
     'fum': 3,
     'fum_lost': 1,
     'int': 2,
     'pass_td': 3,
     'pass_yds': 25,
     'rec': 7,
     'rec_td': 1,
     'rec_yds': 5,
     'rush_td': 2,
     'rush_yds': 118,
     'two_pt': 1},
    'std', 'WR'],
   {'display': '41.8', 'hundredths': 4175}),
  ('normal control 2',
   [{'first_downs': 7,
     'fum': 1,
     'fum_lost': 0,
     'int': 0,
     'pass_td': 1,
     'pass_yds': 300,
     'rec': 11,
     'rec_td': 0,
     'rec_yds': 95,
     'rush_td': 0,
     'rush_yds': -7,
     'two_pt': 0},
    'ppr', 'RB'],
   {'display': '40.8', 'hundredths': 4075}),
  ('normal control 3',
   [{'first_downs': 1,
     'fum': 1,
     'fum_lost': 1,
     'int': 3,
     'pass_td': 3,
     'pass_yds': 25,
     'rec': 5,
     'rec_td': 0,
     'rec_yds': 124,
     'rush_td': 2,
     'rush_yds': 152,
     'two_pt': 1},
    'ppr', 'RB'],
   {'display': '57.3', 'hundredths': 5725}),
  ('normal control 4',
   [{'first_downs': 9,
     'fum': 2,
     'fum_lost': 1,
     'int': 3,
     'pass_td': 0,
     'pass_yds': 0,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 0,
     'rush_td': 0,
     'rush_yds': 5,
     'two_pt': 0},
    'ppr', 'QB'],
   {'display': '-5.8', 'hundredths': -575})],
 [('regression: passing yard granularity',
   [{'first_downs': 9,
     'fum': 1,
     'fum_lost': 1,
     'int': 3,
     'pass_td': 1,
     'pass_yds': 305,
     'rec': 2,
     'rec_td': 2,
     'rec_yds': 20,
     'rush_td': 2,
     'rush_yds': 155,
     'two_pt': 0},
    'half', 'RB'],
   {'display': '58.3', 'hundredths': 5825}),
  ('partial repair probe: passing yard granularity',
   [{'first_downs': 9,
     'fum': 2,
     'fum_lost': 1,
     'int': 2,
     'pass_td': 2,
     'pass_yds': -3,
     'rec': 4,
     'rec_td': 1,
     'rec_yds': 75,
     'rush_td': 0,
     'rush_yds': 100,
     'two_pt': 0},
    'half', 'WR'],
   {'display': '32.3', 'hundredths': 3225}),
  ('second regression',
   [{'first_downs': 0,
     'fum': 3,
     'fum_lost': 1,
     'int': 1,
     'pass_td': 2,
     'pass_yds': 1,
     'rec': 6,
     'rec_td': 2,
     'rec_yds': 99,
     'rush_td': 1,
     'rush_yds': 90,
     'two_pt': 0},
    'ppr', 'TE'],
   {'display': '49.0', 'hundredths': 4900}),
  ('normal control 1',
   [{'first_downs': 9,
     'fum': 1,
     'fum_lost': 1,
     'int': 0,
     'pass_td': 2,
     'pass_yds': 325,
     'rec': 8,
     'rec_td': 2,
     'rec_yds': 20,
     'rush_td': 2,
     'rush_yds': 124,
     'two_pt': 1},
    'std', 'WR'],
   {'display': '67.3', 'hundredths': 6725}),
  ('normal control 2',
   [{'first_downs': 4,
     'fum': 0,
     'fum_lost': 0,
     'int': 2,
     'pass_td': 1,
     'pass_yds': 25,
     'rec': 10,
     'rec_td': 1,
     'rec_yds': 43,
     'rush_td': 0,
     'rush_yds': 9,
     'two_pt': 0},
    'std', 'TE'],
   {'display': '17.0', 'hundredths': 1700}),
  ('normal control 3',
   [{'first_downs': 5,
     'fum': 1,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 3,
     'pass_yds': 325,
     'rec': 4,
     'rec_td': 1,
     'rec_yds': 141,
     'rush_td': 0,
     'rush_yds': 88,
     'two_pt': 1},
    'ppr', 'RB'],
   {'display': '64.3', 'hundredths': 6425}),
  ('normal control 4',
   [{'first_downs': 8,
     'fum': 2,
     'fum_lost': 2,
     'int': 2,
     'pass_td': 0,
     'pass_yds': 300,
     'rec': 5,
     'rec_td': 1,
     'rec_yds': 99,
     'rush_td': 0,
     'rush_yds': -3,
     'two_pt': 1},
    'half', 'TE'],
   {'display': '31.0', 'hundredths': 3100})],
 [('regression: passing yard granularity',
   [{'first_downs': 1,
     'fum': 3,
     'fum_lost': 0,
     'int': 0,
     'pass_td': 3,
     'pass_yds': -3,
     'rec': 1,
     'rec_td': 1,
     'rec_yds': 115,
     'rush_td': 0,
     'rush_yds': 85,
     'two_pt': 1},
    'half', 'TE'],
   {'display': '43.3', 'hundredths': 4325}),
  ('partial repair probe: passing yard granularity',
   [{'first_downs': 5,
     'fum': 2,
     'fum_lost': 2,
     'int': 0,
     'pass_td': 0,
     'pass_yds': -6,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 0,
     'rush_td': 0,
     'rush_yds': 7,
     'two_pt': 0},
    'std', 'WR'],
   {'display': '-2.8', 'hundredths': -275}),
  ('second regression',
   [{'first_downs': 1,
     'fum': 3,
     'fum_lost': 2,
     'int': 1,
     'pass_td': 2,
     'pass_yds': 190,
     'rec': 6,
     'rec_td': 0,
     'rec_yds': 149,
     'rush_td': 1,
     'rush_yds': 100,
     'two_pt': 1},
    'ppr', 'RB'],
   {'display': '53.3', 'hundredths': 5325}),
  ('normal control 1',
   [{'first_downs': 2,
     'fum': 0,
     'fum_lost': 0,
     'int': 3,
     'pass_td': 3,
     'pass_yds': 25,
     'rec': 5,
     'rec_td': 2,
     'rec_yds': 20,
     'rush_td': 0,
     'rush_yds': 70,
     'two_pt': 1},
    'ppr', 'TE'],
   {'display': '38.0', 'hundredths': 3800}),
  ('normal control 2',
   [{'first_downs': 0,
     'fum': 0,
     'fum_lost': 0,
     'int': 2,
     'pass_td': 1,
     'pass_yds': 300,
     'rec': 4,
     'rec_td': 1,
     'rec_yds': 63,
     'rush_td': 2,
     'rush_yds': 32,
     'two_pt': 1},
    'std', 'TE'],
   {'display': '46.0', 'hundredths': 4600}),
  ('normal control 3',
   [{'first_downs': 4,
     'fum': 0,
     'fum_lost': 0,
     'int': 3,
     'pass_td': 0,
     'pass_yds': 300,
     'rec': 7,
     'rec_td': 0,
     'rec_yds': 94,
     'rush_td': 2,
     'rush_yds': 55,
     'two_pt': 1},
    'ppr', 'TE'],
   {'display': '48.5', 'hundredths': 4850}),
  ('normal control 4',
   [{'first_downs': 3,
     'fum': 0,
     'fum_lost': 0,
     'int': 0,
     'pass_td': 2,
     'pass_yds': 25,
     'rec': 1,
     'rec_td': 2,
     'rec_yds': -3,
     'rush_td': 1,
     'rush_yds': 57,
     'two_pt': 0},
    'half', 'RB'],
   {'display': '33.3', 'hundredths': 3325})]]
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: passing yard granularity{'display': '16.3', 'hundredths': 1625}{'display': '16.3', 'hundredths': 1625}Passed
partial repair probe: passing yard granularity{'display': '42.3', 'hundredths': 4225}{'display': '43.3', 'hundredths': 4325}Failed
second regression{'display': '34.8', 'hundredths': 3475}{'display': '34.8', 'hundredths': 3475}Passed
normal control 1{'display': '39.0', 'hundredths': 3900}{'display': '39.0', 'hundredths': 3900}Passed
normal control 2{'display': '52.0', 'hundredths': 5200}{'display': '52.0', 'hundredths': 5200}Passed
normal control 3{'display': '27.5', 'hundredths': 2750}{'display': '27.5', 'hundredths': 2750}Passed
normal control 4{'display': '55.3', 'hundredths': 5525}{'display': '55.3', 'hundredths': 5525}Passed

SHA-256 / 4ab44752b22f23341a533b66a35756339d347018c76b44a36c5858c244ad404b

3 / The verified repair

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

N = 1
observations = []
def solve(stats, fmt, pos):
    def unit(y, per):
        q = abs(y) // per
        return q if y >= 0 else -q
    rec_val = {'std': 0, 'half': 50, 'ppr': 100}[fmt]
    if pos == 'TE':
        rec_val += 50
    pts = 0
    pts += unit(stats['pass_yds'], 25) * 100
    pts += stats['pass_td'] * 400
    pts -= stats['int'] * 200
    pts += unit(stats['rush_yds'], 10) * 100
    pts += stats['rush_td'] * 600
    pts += stats['rec'] * rec_val
    pts += unit(stats['rec_yds'], 10) * 100
    pts += stats['rec_td'] * 600
    pts -= stats['fum_lost'] * 200
    pts += stats['two_pt'] * 200
    pts += stats['first_downs'] * 25
    if stats['pass_yds'] >= 300:
        pts += 300
    if stats['rush_yds'] >= 100:
        pts += 300
    if stats['rec_yds'] >= 100:
        pts += 300
    t = (abs(pts) + 5) // 10
    sign = '-' if pts < 0 and t else ''
    return {'hundredths': pts, 'display': '%s%d.%d' % (sign, t // 10, t % 10)}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: passing yard granularity',
   [{'first_downs': 1,
     'fum': 0,
     'fum_lost': 0,
     'int': 2,
     'pass_td': 0,
     'pass_yds': 193,
     'rec': 1,
     'rec_td': 1,
     'rec_yds': 42,
     'rush_td': 0,
     'rush_yds': -3,
     'two_pt': 1},
    'ppr', 'RB'],
   {'display': '16.3', 'hundredths': 1625}),
  ('partial repair probe: passing yard granularity',
   [{'first_downs': 1,
     'fum': 0,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 3,
     'pass_yds': -12,
     'rec': 6,
     'rec_td': 1,
     'rec_yds': 100,
     'rush_td': 2,
     'rush_yds': 9,
     'two_pt': 1},
    'std', 'WR'],
   {'display': '43.3', 'hundredths': 4325}),
  ('second regression',
   [{'first_downs': 7,
     'fum': 0,
     'fum_lost': 0,
     'int': 3,
     'pass_td': 2,
     'pass_yds': 278,
     'rec': 10,
     'rec_td': 0,
     'rec_yds': 20,
     'rush_td': 2,
     'rush_yds': 46,
     'two_pt': 1},
    'std', 'QB'],
   {'display': '34.8', 'hundredths': 3475}),
  ('normal control 1',
   [{'first_downs': 4,
     'fum': 2,
     'fum_lost': 0,
     'int': 0,
     'pass_td': 3,
     'pass_yds': 25,
     'rec': 11,
     'rec_td': 0,
     'rec_yds': -2,
     'rush_td': 2,
     'rush_yds': -7,
     'two_pt': 1},
    'half', 'TE'],
   {'display': '39.0', 'hundredths': 3900}),
  ('normal control 2',
   [{'first_downs': 0,
     'fum': 0,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 2,
     'pass_yds': 325,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 91,
     'rush_td': 2,
     'rush_yds': 99,
     'two_pt': 0},
    'half', 'RB'],
   {'display': '52.0', 'hundredths': 5200}),
  ('normal control 3',
   [{'first_downs': 4,
     'fum': 3,
     'fum_lost': 2,
     'int': 0,
     'pass_td': 2,
     'pass_yds': 300,
     'rec': 11,
     'rec_td': 0,
     'rec_yds': 19,
     'rush_td': 0,
     'rush_yds': -14,
     'two_pt': 1},
    'std', 'TE'],
   {'display': '27.5', 'hundredths': 2750}),
  ('normal control 4',
   [{'first_downs': 1,
     'fum': 0,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 0,
     'pass_yds': 300,
     'rec': 2,
     'rec_td': 1,
     'rec_yds': 147,
     'rush_td': 1,
     'rush_yds': 100,
     'two_pt': 0},
    'std', 'QB'],
   {'display': '55.3', 'hundredths': 5525})],
 [('regression: passing yard granularity',
   [{'first_downs': 1,
     'fum': 0,
     'fum_lost': 0,
     'int': 3,
     'pass_td': 3,
     'pass_yds': 173,
     'rec': 1,
     'rec_td': 0,
     'rec_yds': 20,
     'rush_td': 0,
     'rush_yds': 147,
     'two_pt': 1},
    'ppr', 'WR'],
   {'display': '34.3', 'hundredths': 3425}),
  ('partial repair probe: passing yard granularity',
   [{'first_downs': 5,
     'fum': 2,
     'fum_lost': 1,
     'int': 1,
     'pass_td': 0,
     'pass_yds': -11,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 0,
     'rush_td': 0,
     'rush_yds': 10,
     'two_pt': 0},
    'std', 'RB'],
   {'display': '-1.8', 'hundredths': -175}),
  ('second regression',
   [{'first_downs': 8,
     'fum': 3,
     'fum_lost': 3,
     'int': 2,
     'pass_td': 0,
     'pass_yds': 247,
     'rec': 5,
     'rec_td': 1,
     'rec_yds': 108,
     'rush_td': 0,
     'rush_yds': 105,
     'two_pt': 0},
    'std', 'QB'],
   {'display': '33.0', 'hundredths': 3300}),
  ('normal control 1',
   [{'first_downs': 1,
     'fum': 1,
     'fum_lost': 1,
     'int': 0,
     'pass_td': 4,
     'pass_yds': 300,
     'rec': 9,
     'rec_td': 1,
     'rec_yds': 20,
     'rush_td': 2,
     'rush_yds': -1,
     'two_pt': 0},
    'std', 'RB'],
   {'display': '49.3', 'hundredths': 4925}),
  ('normal control 2',
   [{'first_downs': 3,
     'fum': 1,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 4,
     'pass_yds': 25,
     'rec': 9,
     'rec_td': 2,
     'rec_yds': -4,
     'rush_td': 0,
     'rush_yds': 82,
     'two_pt': 0},
    'half', 'WR'],
   {'display': '40.3', 'hundredths': 4025}),
  ('normal control 3',
   [{'first_downs': 3,
     'fum': 0,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 4,
     'pass_yds': 25,
     'rec': 6,
     'rec_td': 1,
     'rec_yds': 63,
     'rush_td': 2,
     'rush_yds': 4,
     'two_pt': 1},
    'ppr', 'TE'],
   {'display': '50.8', 'hundredths': 5075}),
  ('normal control 4',
   [{'first_downs': 9,
     'fum': 0,
     'fum_lost': 0,
     'int': 0,
     'pass_td': 0,
     'pass_yds': 325,
     'rec': 2,
     'rec_td': 0,
     'rec_yds': 19,
     'rush_td': 0,
     'rush_yds': -7,
     'two_pt': 1},
    'ppr', 'TE'],
   {'display': '24.3', 'hundredths': 2425})],
 [('regression: passing yard granularity',
   [{'first_downs': 2,
     'fum': 2,
     'fum_lost': 1,
     'int': 2,
     'pass_td': 0,
     'pass_yds': 16,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 0,
     'rush_td': 0,
     'rush_yds': 11,
     'two_pt': 0},
    'half', 'RB'],
   {'display': '-4.5', 'hundredths': -450}),
  ('partial repair probe: passing yard granularity',
   [{'first_downs': 0,
     'fum': 2,
     'fum_lost': 2,
     'int': 0,
     'pass_td': 0,
     'pass_yds': -12,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 0,
     'rush_td': 0,
     'rush_yds': 10,
     'two_pt': 0},
    'ppr', 'RB'],
   {'display': '-3.0', 'hundredths': -300}),
  ('second regression',
   [{'first_downs': 3,
     'fum': 1,
     'fum_lost': 1,
     'int': 1,
     'pass_td': 0,
     'pass_yds': 376,
     'rec': 6,
     'rec_td': 2,
     'rec_yds': 69,
     'rush_td': 1,
     'rush_yds': -7,
     'two_pt': 0},
    'half', 'RB'],
   {'display': '41.8', 'hundredths': 4175}),
  ('normal control 1',
   [{'first_downs': 3,
     'fum': 3,
     'fum_lost': 1,
     'int': 2,
     'pass_td': 3,
     'pass_yds': 25,
     'rec': 7,
     'rec_td': 1,
     'rec_yds': 5,
     'rush_td': 2,
     'rush_yds': 118,
     'two_pt': 1},
    'std', 'WR'],
   {'display': '41.8', 'hundredths': 4175}),
  ('normal control 2',
   [{'first_downs': 7,
     'fum': 1,
     'fum_lost': 0,
     'int': 0,
     'pass_td': 1,
     'pass_yds': 300,
     'rec': 11,
     'rec_td': 0,
     'rec_yds': 95,
     'rush_td': 0,
     'rush_yds': -7,
     'two_pt': 0},
    'ppr', 'RB'],
   {'display': '40.8', 'hundredths': 4075}),
  ('normal control 3',
   [{'first_downs': 1,
     'fum': 1,
     'fum_lost': 1,
     'int': 3,
     'pass_td': 3,
     'pass_yds': 25,
     'rec': 5,
     'rec_td': 0,
     'rec_yds': 124,
     'rush_td': 2,
     'rush_yds': 152,
     'two_pt': 1},
    'ppr', 'RB'],
   {'display': '57.3', 'hundredths': 5725}),
  ('normal control 4',
   [{'first_downs': 9,
     'fum': 2,
     'fum_lost': 1,
     'int': 3,
     'pass_td': 0,
     'pass_yds': 0,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 0,
     'rush_td': 0,
     'rush_yds': 5,
     'two_pt': 0},
    'ppr', 'QB'],
   {'display': '-5.8', 'hundredths': -575})],
 [('regression: passing yard granularity',
   [{'first_downs': 9,
     'fum': 1,
     'fum_lost': 1,
     'int': 3,
     'pass_td': 1,
     'pass_yds': 305,
     'rec': 2,
     'rec_td': 2,
     'rec_yds': 20,
     'rush_td': 2,
     'rush_yds': 155,
     'two_pt': 0},
    'half', 'RB'],
   {'display': '58.3', 'hundredths': 5825}),
  ('partial repair probe: passing yard granularity',
   [{'first_downs': 9,
     'fum': 2,
     'fum_lost': 1,
     'int': 2,
     'pass_td': 2,
     'pass_yds': -3,
     'rec': 4,
     'rec_td': 1,
     'rec_yds': 75,
     'rush_td': 0,
     'rush_yds': 100,
     'two_pt': 0},
    'half', 'WR'],
   {'display': '32.3', 'hundredths': 3225}),
  ('second regression',
   [{'first_downs': 0,
     'fum': 3,
     'fum_lost': 1,
     'int': 1,
     'pass_td': 2,
     'pass_yds': 1,
     'rec': 6,
     'rec_td': 2,
     'rec_yds': 99,
     'rush_td': 1,
     'rush_yds': 90,
     'two_pt': 0},
    'ppr', 'TE'],
   {'display': '49.0', 'hundredths': 4900}),
  ('normal control 1',
   [{'first_downs': 9,
     'fum': 1,
     'fum_lost': 1,
     'int': 0,
     'pass_td': 2,
     'pass_yds': 325,
     'rec': 8,
     'rec_td': 2,
     'rec_yds': 20,
     'rush_td': 2,
     'rush_yds': 124,
     'two_pt': 1},
    'std', 'WR'],
   {'display': '67.3', 'hundredths': 6725}),
  ('normal control 2',
   [{'first_downs': 4,
     'fum': 0,
     'fum_lost': 0,
     'int': 2,
     'pass_td': 1,
     'pass_yds': 25,
     'rec': 10,
     'rec_td': 1,
     'rec_yds': 43,
     'rush_td': 0,
     'rush_yds': 9,
     'two_pt': 0},
    'std', 'TE'],
   {'display': '17.0', 'hundredths': 1700}),
  ('normal control 3',
   [{'first_downs': 5,
     'fum': 1,
     'fum_lost': 0,
     'int': 1,
     'pass_td': 3,
     'pass_yds': 325,
     'rec': 4,
     'rec_td': 1,
     'rec_yds': 141,
     'rush_td': 0,
     'rush_yds': 88,
     'two_pt': 1},
    'ppr', 'RB'],
   {'display': '64.3', 'hundredths': 6425}),
  ('normal control 4',
   [{'first_downs': 8,
     'fum': 2,
     'fum_lost': 2,
     'int': 2,
     'pass_td': 0,
     'pass_yds': 300,
     'rec': 5,
     'rec_td': 1,
     'rec_yds': 99,
     'rush_td': 0,
     'rush_yds': -3,
     'two_pt': 1},
    'half', 'TE'],
   {'display': '31.0', 'hundredths': 3100})],
 [('regression: passing yard granularity',
   [{'first_downs': 1,
     'fum': 3,
     'fum_lost': 0,
     'int': 0,
     'pass_td': 3,
     'pass_yds': -3,
     'rec': 1,
     'rec_td': 1,
     'rec_yds': 115,
     'rush_td': 0,
     'rush_yds': 85,
     'two_pt': 1},
    'half', 'TE'],
   {'display': '43.3', 'hundredths': 4325}),
  ('partial repair probe: passing yard granularity',
   [{'first_downs': 5,
     'fum': 2,
     'fum_lost': 2,
     'int': 0,
     'pass_td': 0,
     'pass_yds': -6,
     'rec': 0,
     'rec_td': 0,
     'rec_yds': 0,
     'rush_td': 0,
     'rush_yds': 7,
     'two_pt': 0},
    'std', 'WR'],
   {'display': '-2.8', 'hundredths': -275}),
  ('second regression',
   [{'first_downs': 1,
     'fum': 3,
     'fum_lost': 2,
     'int': 1,
     'pass_td': 2,
     'pass_yds': 190,
     'rec': 6,
     'rec_td': 0,
     'rec_yds': 149,
     'rush_td': 1,
     'rush_yds': 100,
     'two_pt': 1},
    'ppr', 'RB'],
   {'display': '53.3', 'hundredths': 5325}),
  ('normal control 1',
   [{'first_downs': 2,
     'fum': 0,
     'fum_lost': 0,
     'int': 3,
     'pass_td': 3,
     'pass_yds': 25,
     'rec': 5,
     'rec_td': 2,
     'rec_yds': 20,
     'rush_td': 0,
     'rush_yds': 70,
     'two_pt': 1},
    'ppr', 'TE'],
   {'display': '38.0', 'hundredths': 3800}),
  ('normal control 2',
   [{'first_downs': 0,
     'fum': 0,
     'fum_lost': 0,
     'int': 2,
     'pass_td': 1,
     'pass_yds': 300,
     'rec': 4,
     'rec_td': 1,
     'rec_yds': 63,
     'rush_td': 2,
     'rush_yds': 32,
     'two_pt': 1},
    'std', 'TE'],
   {'display': '46.0', 'hundredths': 4600}),
  ('normal control 3',
   [{'first_downs': 4,
     'fum': 0,
     'fum_lost': 0,
     'int': 3,
     'pass_td': 0,
     'pass_yds': 300,
     'rec': 7,
     'rec_td': 0,
     'rec_yds': 94,
     'rush_td': 2,
     'rush_yds': 55,
     'two_pt': 1},
    'ppr', 'TE'],
   {'display': '48.5', 'hundredths': 4850}),
  ('normal control 4',
   [{'first_downs': 3,
     'fum': 0,
     'fum_lost': 0,
     'int': 0,
     'pass_td': 2,
     'pass_yds': 25,
     'rec': 1,
     'rec_td': 2,
     'rec_yds': -3,
     'rush_td': 1,
     'rush_yds': 57,
     'two_pt': 0},
    'half', 'RB'],
   {'display': '33.3', 'hundredths': 3325})]]
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: passing yard granularity{'display': '16.3', 'hundredths': 1625}{'display': '16.3', 'hundredths': 1625}Passed
partial repair probe: passing yard granularity{'display': '43.3', 'hundredths': 4325}{'display': '43.3', 'hundredths': 4325}Passed
second regression{'display': '34.8', 'hundredths': 3475}{'display': '34.8', 'hundredths': 3475}Passed
normal control 1{'display': '39.0', 'hundredths': 3900}{'display': '39.0', 'hundredths': 3900}Passed
normal control 2{'display': '52.0', 'hundredths': 5200}{'display': '52.0', 'hundredths': 5200}Passed
normal control 3{'display': '27.5', 'hundredths': 2750}{'display': '27.5', 'hundredths': 2750}Passed
normal control 4{'display': '55.3', 'hundredths': 5525}{'display': '55.3', 'hundredths': 5525}Passed

SHA-256 / 4b43afc6742d5b930135e1c6f8a818e1d108aeb3f2bf21f4b374a6d5b2496b36

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

Case digest / 9f89d49d755cb9697a5ae85b9d6b179b78d0d970693e62b079f8ff0271056263