FAILURE MAP
← Case archive

FA-84916 / Fantasy sports scoring / Open access

Longest field goal includes misses · case 01

A missed 58-yarder is reported as the kicker's longest field goal.

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

ROOT CAUSE

The longest tracker updates on every attempt instead of only made kicks.

VERIFIED REPAIR

Update the longest distance only inside the made branch.

Unsuccessful approach: Excluding blocks alone still counts missed attempts as the longest made kick.

Case contract

Score a kicker. Kick distance is the line-of-scrimmage yardline plus 17 (10 yards of end zone and a 7-yard hold). Made FG: <=39 yards 3, 40-49 4, 50+ 5. Missed FG: <=39 -2, 40-49 -1, 50+ 0. Blocked FG and blocked PAT score 0. PAT made +1, missed -1. Return [points, longest made FG distance or 0].

Why this case matters

Kicker distance bands and miss penalties are a classic source of scoring disputes.

1 / The failure

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

N = 1
observations = []
def solve(kicks):
    pts = 0
    longest = 0
    for k in kicks:
        if k['type'] == 'pat':
            if k['result'] == 'made':
                pts += 1
            elif k['result'] == 'missed':
                pts -= 1
            continue
        dist = k['yardline'] + 17
        longest = max(longest, dist)
        if k['result'] == 'made':
            pts += 3 if dist <= 39 else 4 if dist <= 49 else 5
        elif k['result'] == 'missed':
            pts += -2 if dist <= 39 else -1 if dist <= 49 else 0
    return [pts, longest]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: longest made kick tracking',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'missed', 'type': 'fg', 'yardline': 32},
     {'result': 'blocked', 'type': 'fg', 'yardline': 33},
     {'result': 'missed', 'type': 'fg', 'yardline': 33}]],
   [0, 0]),
  ('partial repair probe: longest made kick tracking',
   [[{'result': 'missed', 'type': 'fg', 'yardline': 23}, {'result': 'blocked', 'type': 'fg', 'yardline': 22},
     {'result': 'blocked', 'type': 'fg', 'yardline': 16}]],
   [-1, 0]),
  ('second regression',
   [[{'result': 'made', 'type': 'fg', 'yardline': 32}, {'result': 'missed', 'type': 'fg', 'yardline': 22},
     {'result': 'made', 'type': 'fg', 'yardline': 40}, {'result': 'blocked', 'type': 'fg', 'yardline': 23},
     {'result': 'blocked', 'type': 'fg', 'yardline': 41},
     {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [8, 57]),
  ('normal control 1', [[{'result': 'made', 'type': 'pat', 'yardline': 15}]], [1, 0]),
  ('normal control 2',
   [[{'result': 'made', 'type': 'fg', 'yardline': 33}, {'result': 'missed', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'fg', 'yardline': 32}, {'result': 'made', 'type': 'fg', 'yardline': 32},
     {'result': 'missed', 'type': 'pat', 'yardline': 15}]],
   [7, 50]),
  ('normal control 3', [[{'result': 'made', 'type': 'fg', 'yardline': 34}]], [5, 51]),
  ('normal control 4',
   [[{'result': 'made', 'type': 'fg', 'yardline': 23}, {'result': 'blocked', 'type': 'fg', 'yardline': 22},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15}]],
   [4, 40])],
 [('regression: longest made kick tracking',
   [[{'result': 'blocked', 'type': 'fg', 'yardline': 34}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'fg', 'yardline': 33}]],
   [6, 50]),
  ('partial repair probe: longest made kick tracking',
   [[{'result': 'made', 'type': 'fg', 'yardline': 23}, {'result': 'missed', 'type': 'fg', 'yardline': 32}]],
   [3, 40]),
  ('second regression',
   [[{'result': 'missed', 'type': 'pat', 'yardline': 15}, {'result': 'blocked', 'type': 'fg', 'yardline': 34},
     {'result': 'made', 'type': 'fg', 'yardline': 33}, {'result': 'blocked', 'type': 'fg', 'yardline': 23}]],
   [4, 50]),
  ('normal control 1',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [2, 0]),
  ('normal control 2',
   [[{'result': 'blocked', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'fg', 'yardline': 22},
     {'result': 'made', 'type': 'fg', 'yardline': 34}, {'result': 'missed', 'type': 'fg', 'yardline': 34},
     {'result': 'missed', 'type': 'fg', 'yardline': 32}, {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [8, 51]),
  ('normal control 3',
   [[{'result': 'missed', 'type': 'fg', 'yardline': 23}, {'result': 'made', 'type': 'fg', 'yardline': 23},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15}]],
   [3, 40]),
  ('normal control 4',
   [[{'result': 'made', 'type': 'fg', 'yardline': 33}, {'result': 'missed', 'type': 'fg', 'yardline': 33}]],
   [5, 50])],
 [('regression: longest made kick tracking',
   [[{'result': 'made', 'type': 'fg', 'yardline': 22}, {'result': 'blocked', 'type': 'fg', 'yardline': 34}]],
   [3, 39]),
  ('partial repair probe: longest made kick tracking',
   [[{'result': 'missed', 'type': 'fg', 'yardline': 27}, {'result': 'blocked', 'type': 'fg', 'yardline': 35},
     {'result': 'missed', 'type': 'fg', 'yardline': 34}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'fg', 'yardline': 23}]],
   [4, 40]),
  ('second regression',
   [[{'result': 'made', 'type': 'fg', 'yardline': 22}, {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'fg', 'yardline': 33}, {'result': 'missed', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'fg', 'yardline': 34}]],
   [2, 39]),
  ('normal control 1',
   [[{'result': 'made', 'type': 'fg', 'yardline': 34}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'fg', 'yardline': 19}]],
   [9, 51]),
  ('normal control 2', [[{'result': 'blocked', 'type': 'pat', 'yardline': 15}]], [0, 0]),
  ('normal control 3',
   [[{'result': 'made', 'type': 'fg', 'yardline': 33}, {'result': 'made', 'type': 'fg', 'yardline': 23},
     {'result': 'missed', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15}]],
   [8, 50]),
  ('normal control 4',
   [[{'result': 'made', 'type': 'fg', 'yardline': 34}, {'result': 'missed', 'type': 'pat', 'yardline': 15},
     {'result': 'missed', 'type': 'fg', 'yardline': 33}, {'result': 'made', 'type': 'fg', 'yardline': 22}]],
   [7, 51])],
 [('regression: longest made kick tracking',
   [[{'result': 'missed', 'type': 'fg', 'yardline': 32}, {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'missed', 'type': 'pat', 'yardline': 15}]],
   [-1, 0]),
  ('partial repair probe: longest made kick tracking', [[{'result': 'missed', 'type': 'fg', 'yardline': 34}]],
   [0, 0]),
  ('second regression',
   [[{'result': 'blocked', 'type': 'fg', 'yardline': 23}, {'result': 'blocked', 'type': 'fg', 'yardline': 34},
     {'result': 'blocked', 'type': 'fg', 'yardline': 22}, {'result': 'made', 'type': 'fg', 'yardline': 22},
     {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [4, 39]),
  ('normal control 1',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'fg', 'yardline': 32}, {'result': 'blocked', 'type': 'fg', 'yardline': 22},
     {'result': 'missed', 'type': 'fg', 'yardline': 23}]],
   [5, 49]),
  ('normal control 2',
   [[{'result': 'made', 'type': 'fg', 'yardline': 34}, {'result': 'made', 'type': 'fg', 'yardline': 34},
     {'result': 'made', 'type': 'fg', 'yardline': 33}]],
   [15, 51]),
  ('normal control 3',
   [[{'result': 'blocked', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'fg', 'yardline': 6}, {'result': 'made', 'type': 'fg', 'yardline': 23},
     {'result': 'missed', 'type': 'fg', 'yardline': 22},
     {'result': 'missed', 'type': 'pat', 'yardline': 15}]],
   [5, 40]),
  ('normal control 4',
   [[{'result': 'missed', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'fg', 'yardline': 33},
     {'result': 'blocked', 'type': 'fg', 'yardline': 28}]],
   [4, 50])],
 [('regression: longest made kick tracking',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'fg', 'yardline': 32},
     {'result': 'blocked', 'type': 'fg', 'yardline': 33}]],
   [2, 0]),
  ('partial repair probe: longest made kick tracking', [[{'result': 'missed', 'type': 'fg', 'yardline': 22}]],
   [-2, 0]),
  ('second regression',
   [[{'result': 'made', 'type': 'fg', 'yardline': 32}, {'result': 'blocked', 'type': 'fg', 'yardline': 36},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'fg', 'yardline': 22}, {'result': 'made', 'type': 'fg', 'yardline': 34},
     {'result': 'made', 'type': 'fg', 'yardline': 34}]],
   [14, 51]),
  ('normal control 1',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'fg', 'yardline': 33},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'fg', 'yardline': 8},
     {'result': 'made', 'type': 'fg', 'yardline': 1}, {'result': 'blocked', 'type': 'fg', 'yardline': 22}]],
   [12, 50]),
  ('normal control 2',
   [[{'result': 'made', 'type': 'fg', 'yardline': 27}, {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [5, 44]),
  ('normal control 3',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [2, 0]),
  ('normal control 4', [[{'result': 'made', 'type': 'fg', 'yardline': 40}]], [5, 57])]]
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: longest made kick tracking[0, 50][0, 0]Failed
partial repair probe: longest made kick tracking[-1, 40][-1, 0]Failed
second regression[8, 58][8, 57]Failed
normal control 1[1, 0][1, 0]Passed
normal control 2[7, 50][7, 50]Passed
normal control 3[5, 51][5, 51]Passed
normal control 4[4, 40][4, 40]Passed

SHA-256 / 9893d04f4003bbefddd2a658b3fd32c0d075a85078940b4ffe6297831fc33ff6

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(kicks):
    pts = 0
    longest = 0
    for k in kicks:
        if k['type'] == 'pat':
            if k['result'] == 'made':
                pts += 1
            elif k['result'] == 'missed':
                pts -= 1
            continue
        dist = k['yardline'] + 17
        if k['result'] != 'blocked':
            longest = max(longest, dist)
        if k['result'] == 'made':
            pts += 3 if dist <= 39 else 4 if dist <= 49 else 5
        elif k['result'] == 'missed':
            pts += -2 if dist <= 39 else -1 if dist <= 49 else 0
    return [pts, longest]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: longest made kick tracking',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'missed', 'type': 'fg', 'yardline': 32},
     {'result': 'blocked', 'type': 'fg', 'yardline': 33},
     {'result': 'missed', 'type': 'fg', 'yardline': 33}]],
   [0, 0]),
  ('partial repair probe: longest made kick tracking',
   [[{'result': 'missed', 'type': 'fg', 'yardline': 23}, {'result': 'blocked', 'type': 'fg', 'yardline': 22},
     {'result': 'blocked', 'type': 'fg', 'yardline': 16}]],
   [-1, 0]),
  ('second regression',
   [[{'result': 'made', 'type': 'fg', 'yardline': 32}, {'result': 'missed', 'type': 'fg', 'yardline': 22},
     {'result': 'made', 'type': 'fg', 'yardline': 40}, {'result': 'blocked', 'type': 'fg', 'yardline': 23},
     {'result': 'blocked', 'type': 'fg', 'yardline': 41},
     {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [8, 57]),
  ('normal control 1', [[{'result': 'made', 'type': 'pat', 'yardline': 15}]], [1, 0]),
  ('normal control 2',
   [[{'result': 'made', 'type': 'fg', 'yardline': 33}, {'result': 'missed', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'fg', 'yardline': 32}, {'result': 'made', 'type': 'fg', 'yardline': 32},
     {'result': 'missed', 'type': 'pat', 'yardline': 15}]],
   [7, 50]),
  ('normal control 3', [[{'result': 'made', 'type': 'fg', 'yardline': 34}]], [5, 51]),
  ('normal control 4',
   [[{'result': 'made', 'type': 'fg', 'yardline': 23}, {'result': 'blocked', 'type': 'fg', 'yardline': 22},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15}]],
   [4, 40])],
 [('regression: longest made kick tracking',
   [[{'result': 'blocked', 'type': 'fg', 'yardline': 34}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'fg', 'yardline': 33}]],
   [6, 50]),
  ('partial repair probe: longest made kick tracking',
   [[{'result': 'made', 'type': 'fg', 'yardline': 23}, {'result': 'missed', 'type': 'fg', 'yardline': 32}]],
   [3, 40]),
  ('second regression',
   [[{'result': 'missed', 'type': 'pat', 'yardline': 15}, {'result': 'blocked', 'type': 'fg', 'yardline': 34},
     {'result': 'made', 'type': 'fg', 'yardline': 33}, {'result': 'blocked', 'type': 'fg', 'yardline': 23}]],
   [4, 50]),
  ('normal control 1',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [2, 0]),
  ('normal control 2',
   [[{'result': 'blocked', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'fg', 'yardline': 22},
     {'result': 'made', 'type': 'fg', 'yardline': 34}, {'result': 'missed', 'type': 'fg', 'yardline': 34},
     {'result': 'missed', 'type': 'fg', 'yardline': 32}, {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [8, 51]),
  ('normal control 3',
   [[{'result': 'missed', 'type': 'fg', 'yardline': 23}, {'result': 'made', 'type': 'fg', 'yardline': 23},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15}]],
   [3, 40]),
  ('normal control 4',
   [[{'result': 'made', 'type': 'fg', 'yardline': 33}, {'result': 'missed', 'type': 'fg', 'yardline': 33}]],
   [5, 50])],
 [('regression: longest made kick tracking',
   [[{'result': 'made', 'type': 'fg', 'yardline': 22}, {'result': 'blocked', 'type': 'fg', 'yardline': 34}]],
   [3, 39]),
  ('partial repair probe: longest made kick tracking',
   [[{'result': 'missed', 'type': 'fg', 'yardline': 27}, {'result': 'blocked', 'type': 'fg', 'yardline': 35},
     {'result': 'missed', 'type': 'fg', 'yardline': 34}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'fg', 'yardline': 23}]],
   [4, 40]),
  ('second regression',
   [[{'result': 'made', 'type': 'fg', 'yardline': 22}, {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'fg', 'yardline': 33}, {'result': 'missed', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'fg', 'yardline': 34}]],
   [2, 39]),
  ('normal control 1',
   [[{'result': 'made', 'type': 'fg', 'yardline': 34}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'fg', 'yardline': 19}]],
   [9, 51]),
  ('normal control 2', [[{'result': 'blocked', 'type': 'pat', 'yardline': 15}]], [0, 0]),
  ('normal control 3',
   [[{'result': 'made', 'type': 'fg', 'yardline': 33}, {'result': 'made', 'type': 'fg', 'yardline': 23},
     {'result': 'missed', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15}]],
   [8, 50]),
  ('normal control 4',
   [[{'result': 'made', 'type': 'fg', 'yardline': 34}, {'result': 'missed', 'type': 'pat', 'yardline': 15},
     {'result': 'missed', 'type': 'fg', 'yardline': 33}, {'result': 'made', 'type': 'fg', 'yardline': 22}]],
   [7, 51])],
 [('regression: longest made kick tracking',
   [[{'result': 'missed', 'type': 'fg', 'yardline': 32}, {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'missed', 'type': 'pat', 'yardline': 15}]],
   [-1, 0]),
  ('partial repair probe: longest made kick tracking', [[{'result': 'missed', 'type': 'fg', 'yardline': 34}]],
   [0, 0]),
  ('second regression',
   [[{'result': 'blocked', 'type': 'fg', 'yardline': 23}, {'result': 'blocked', 'type': 'fg', 'yardline': 34},
     {'result': 'blocked', 'type': 'fg', 'yardline': 22}, {'result': 'made', 'type': 'fg', 'yardline': 22},
     {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [4, 39]),
  ('normal control 1',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'fg', 'yardline': 32}, {'result': 'blocked', 'type': 'fg', 'yardline': 22},
     {'result': 'missed', 'type': 'fg', 'yardline': 23}]],
   [5, 49]),
  ('normal control 2',
   [[{'result': 'made', 'type': 'fg', 'yardline': 34}, {'result': 'made', 'type': 'fg', 'yardline': 34},
     {'result': 'made', 'type': 'fg', 'yardline': 33}]],
   [15, 51]),
  ('normal control 3',
   [[{'result': 'blocked', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'fg', 'yardline': 6}, {'result': 'made', 'type': 'fg', 'yardline': 23},
     {'result': 'missed', 'type': 'fg', 'yardline': 22},
     {'result': 'missed', 'type': 'pat', 'yardline': 15}]],
   [5, 40]),
  ('normal control 4',
   [[{'result': 'missed', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'fg', 'yardline': 33},
     {'result': 'blocked', 'type': 'fg', 'yardline': 28}]],
   [4, 50])],
 [('regression: longest made kick tracking',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'fg', 'yardline': 32},
     {'result': 'blocked', 'type': 'fg', 'yardline': 33}]],
   [2, 0]),
  ('partial repair probe: longest made kick tracking', [[{'result': 'missed', 'type': 'fg', 'yardline': 22}]],
   [-2, 0]),
  ('second regression',
   [[{'result': 'made', 'type': 'fg', 'yardline': 32}, {'result': 'blocked', 'type': 'fg', 'yardline': 36},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'fg', 'yardline': 22}, {'result': 'made', 'type': 'fg', 'yardline': 34},
     {'result': 'made', 'type': 'fg', 'yardline': 34}]],
   [14, 51]),
  ('normal control 1',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'fg', 'yardline': 33},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'fg', 'yardline': 8},
     {'result': 'made', 'type': 'fg', 'yardline': 1}, {'result': 'blocked', 'type': 'fg', 'yardline': 22}]],
   [12, 50]),
  ('normal control 2',
   [[{'result': 'made', 'type': 'fg', 'yardline': 27}, {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [5, 44]),
  ('normal control 3',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [2, 0]),
  ('normal control 4', [[{'result': 'made', 'type': 'fg', 'yardline': 40}]], [5, 57])]]
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: longest made kick tracking[0, 50][0, 0]Failed
partial repair probe: longest made kick tracking[-1, 40][-1, 0]Failed
second regression[8, 57][8, 57]Passed
normal control 1[1, 0][1, 0]Passed
normal control 2[7, 50][7, 50]Passed
normal control 3[5, 51][5, 51]Passed
normal control 4[4, 40][4, 40]Passed

SHA-256 / 78d5c855291fe0f37f5747faa88f8d34191d5f5ba1a18318c8362eb4d0af83a4

3 / The verified repair

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

N = 1
observations = []
def solve(kicks):
    pts = 0
    longest = 0
    for k in kicks:
        if k['type'] == 'pat':
            if k['result'] == 'made':
                pts += 1
            elif k['result'] == 'missed':
                pts -= 1
            continue
        dist = k['yardline'] + 17
        if k['result'] == 'made':
            pts += 3 if dist <= 39 else 4 if dist <= 49 else 5
            longest = max(longest, dist)
        elif k['result'] == 'missed':
            pts += -2 if dist <= 39 else -1 if dist <= 49 else 0
    return [pts, longest]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: longest made kick tracking',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'missed', 'type': 'fg', 'yardline': 32},
     {'result': 'blocked', 'type': 'fg', 'yardline': 33},
     {'result': 'missed', 'type': 'fg', 'yardline': 33}]],
   [0, 0]),
  ('partial repair probe: longest made kick tracking',
   [[{'result': 'missed', 'type': 'fg', 'yardline': 23}, {'result': 'blocked', 'type': 'fg', 'yardline': 22},
     {'result': 'blocked', 'type': 'fg', 'yardline': 16}]],
   [-1, 0]),
  ('second regression',
   [[{'result': 'made', 'type': 'fg', 'yardline': 32}, {'result': 'missed', 'type': 'fg', 'yardline': 22},
     {'result': 'made', 'type': 'fg', 'yardline': 40}, {'result': 'blocked', 'type': 'fg', 'yardline': 23},
     {'result': 'blocked', 'type': 'fg', 'yardline': 41},
     {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [8, 57]),
  ('normal control 1', [[{'result': 'made', 'type': 'pat', 'yardline': 15}]], [1, 0]),
  ('normal control 2',
   [[{'result': 'made', 'type': 'fg', 'yardline': 33}, {'result': 'missed', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'fg', 'yardline': 32}, {'result': 'made', 'type': 'fg', 'yardline': 32},
     {'result': 'missed', 'type': 'pat', 'yardline': 15}]],
   [7, 50]),
  ('normal control 3', [[{'result': 'made', 'type': 'fg', 'yardline': 34}]], [5, 51]),
  ('normal control 4',
   [[{'result': 'made', 'type': 'fg', 'yardline': 23}, {'result': 'blocked', 'type': 'fg', 'yardline': 22},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15}]],
   [4, 40])],
 [('regression: longest made kick tracking',
   [[{'result': 'blocked', 'type': 'fg', 'yardline': 34}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'fg', 'yardline': 33}]],
   [6, 50]),
  ('partial repair probe: longest made kick tracking',
   [[{'result': 'made', 'type': 'fg', 'yardline': 23}, {'result': 'missed', 'type': 'fg', 'yardline': 32}]],
   [3, 40]),
  ('second regression',
   [[{'result': 'missed', 'type': 'pat', 'yardline': 15}, {'result': 'blocked', 'type': 'fg', 'yardline': 34},
     {'result': 'made', 'type': 'fg', 'yardline': 33}, {'result': 'blocked', 'type': 'fg', 'yardline': 23}]],
   [4, 50]),
  ('normal control 1',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [2, 0]),
  ('normal control 2',
   [[{'result': 'blocked', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'fg', 'yardline': 22},
     {'result': 'made', 'type': 'fg', 'yardline': 34}, {'result': 'missed', 'type': 'fg', 'yardline': 34},
     {'result': 'missed', 'type': 'fg', 'yardline': 32}, {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [8, 51]),
  ('normal control 3',
   [[{'result': 'missed', 'type': 'fg', 'yardline': 23}, {'result': 'made', 'type': 'fg', 'yardline': 23},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15}]],
   [3, 40]),
  ('normal control 4',
   [[{'result': 'made', 'type': 'fg', 'yardline': 33}, {'result': 'missed', 'type': 'fg', 'yardline': 33}]],
   [5, 50])],
 [('regression: longest made kick tracking',
   [[{'result': 'made', 'type': 'fg', 'yardline': 22}, {'result': 'blocked', 'type': 'fg', 'yardline': 34}]],
   [3, 39]),
  ('partial repair probe: longest made kick tracking',
   [[{'result': 'missed', 'type': 'fg', 'yardline': 27}, {'result': 'blocked', 'type': 'fg', 'yardline': 35},
     {'result': 'missed', 'type': 'fg', 'yardline': 34}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'fg', 'yardline': 23}]],
   [4, 40]),
  ('second regression',
   [[{'result': 'made', 'type': 'fg', 'yardline': 22}, {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'fg', 'yardline': 33}, {'result': 'missed', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'fg', 'yardline': 34}]],
   [2, 39]),
  ('normal control 1',
   [[{'result': 'made', 'type': 'fg', 'yardline': 34}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'fg', 'yardline': 19}]],
   [9, 51]),
  ('normal control 2', [[{'result': 'blocked', 'type': 'pat', 'yardline': 15}]], [0, 0]),
  ('normal control 3',
   [[{'result': 'made', 'type': 'fg', 'yardline': 33}, {'result': 'made', 'type': 'fg', 'yardline': 23},
     {'result': 'missed', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15}]],
   [8, 50]),
  ('normal control 4',
   [[{'result': 'made', 'type': 'fg', 'yardline': 34}, {'result': 'missed', 'type': 'pat', 'yardline': 15},
     {'result': 'missed', 'type': 'fg', 'yardline': 33}, {'result': 'made', 'type': 'fg', 'yardline': 22}]],
   [7, 51])],
 [('regression: longest made kick tracking',
   [[{'result': 'missed', 'type': 'fg', 'yardline': 32}, {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'missed', 'type': 'pat', 'yardline': 15}]],
   [-1, 0]),
  ('partial repair probe: longest made kick tracking', [[{'result': 'missed', 'type': 'fg', 'yardline': 34}]],
   [0, 0]),
  ('second regression',
   [[{'result': 'blocked', 'type': 'fg', 'yardline': 23}, {'result': 'blocked', 'type': 'fg', 'yardline': 34},
     {'result': 'blocked', 'type': 'fg', 'yardline': 22}, {'result': 'made', 'type': 'fg', 'yardline': 22},
     {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [4, 39]),
  ('normal control 1',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'fg', 'yardline': 32}, {'result': 'blocked', 'type': 'fg', 'yardline': 22},
     {'result': 'missed', 'type': 'fg', 'yardline': 23}]],
   [5, 49]),
  ('normal control 2',
   [[{'result': 'made', 'type': 'fg', 'yardline': 34}, {'result': 'made', 'type': 'fg', 'yardline': 34},
     {'result': 'made', 'type': 'fg', 'yardline': 33}]],
   [15, 51]),
  ('normal control 3',
   [[{'result': 'blocked', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'made', 'type': 'fg', 'yardline': 6}, {'result': 'made', 'type': 'fg', 'yardline': 23},
     {'result': 'missed', 'type': 'fg', 'yardline': 22},
     {'result': 'missed', 'type': 'pat', 'yardline': 15}]],
   [5, 40]),
  ('normal control 4',
   [[{'result': 'missed', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'fg', 'yardline': 33},
     {'result': 'blocked', 'type': 'fg', 'yardline': 28}]],
   [4, 50])],
 [('regression: longest made kick tracking',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'fg', 'yardline': 32},
     {'result': 'blocked', 'type': 'fg', 'yardline': 33}]],
   [2, 0]),
  ('partial repair probe: longest made kick tracking', [[{'result': 'missed', 'type': 'fg', 'yardline': 22}]],
   [-2, 0]),
  ('second regression',
   [[{'result': 'made', 'type': 'fg', 'yardline': 32}, {'result': 'blocked', 'type': 'fg', 'yardline': 36},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15},
     {'result': 'blocked', 'type': 'fg', 'yardline': 22}, {'result': 'made', 'type': 'fg', 'yardline': 34},
     {'result': 'made', 'type': 'fg', 'yardline': 34}]],
   [14, 51]),
  ('normal control 1',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'fg', 'yardline': 33},
     {'result': 'blocked', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'fg', 'yardline': 8},
     {'result': 'made', 'type': 'fg', 'yardline': 1}, {'result': 'blocked', 'type': 'fg', 'yardline': 22}]],
   [12, 50]),
  ('normal control 2',
   [[{'result': 'made', 'type': 'fg', 'yardline': 27}, {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [5, 44]),
  ('normal control 3',
   [[{'result': 'made', 'type': 'pat', 'yardline': 15}, {'result': 'made', 'type': 'pat', 'yardline': 15}]],
   [2, 0]),
  ('normal control 4', [[{'result': 'made', 'type': 'fg', 'yardline': 40}]], [5, 57])]]
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: longest made kick tracking[0, 0][0, 0]Passed
partial repair probe: longest made kick tracking[-1, 0][-1, 0]Passed
second regression[8, 57][8, 57]Passed
normal control 1[1, 0][1, 0]Passed
normal control 2[7, 50][7, 50]Passed
normal control 3[5, 51][5, 51]Passed
normal control 4[4, 40][4, 40]Passed

SHA-256 / 63e60abcbcff426c5af5b1f7f3ec8c1d9a766b03e2643397b716a7479a6bd5a9

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

Case digest / 7b45cad31f930ffe55e23fb522883f0db28a92920cfe25cab08f729488ed7a92