FA-85321 / Fantasy sports scoring / Open access
50-yard touchdown tier unreachable · case 01
An 80-yard touchdown earns the 40-yard bonus.
ROOT CAUSE
The 40+ tier is tested first, shadowing the 50+ tier.
VERIFIED REPAIR
Test the 50+ tier before the 40-49 tier.
Unsuccessful approach: Adding the difference only above 50 misses touchdowns of exactly 50 yards.
Case contract
Per-play bonus tenths for one player: a touchdown of 50+ yards earns 3, a touchdown of 40-49 yards earns 2 (exclusive tiers); every rushing or receiving play (not passing) of 20+ yards earns 0.5 whether or not it scored; three or more touchdowns in the game earn 2 once.
Why this case matters
Long-play bonuses are layered rules where tier order and play-type filters are easy to get wrong.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(plays):
bonus = 0
for kind, yards, td in plays:
if td and yards >= 40:
bonus += 20
elif td and yards >= 50:
bonus += 30
if kind != 'pass' and yards >= 20:
bonus += 5
tds = sum(1 for _, _, td in plays if td)
if tds >= 3:
bonus += 20
return bonus
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: tier check order', [[['pass', 5, False], ['rush', 50, True], ['rush', 19, False]]], 35),
('partial repair probe: tier check order',
[[['rec', -3, True], ['pass', 19, False], ['rec', 3, False], ['rush', 5, True], ['pass', 50, True]]], 50),
('second regression', [[['rec', 50, True], ['rec', 40, False], ['rec', 39, True]]], 45),
('normal control 1', [[['rec', 19, False], ['pass', 40, True]]], 20),
('normal control 2', [[['rec', 50, False], ['rec', 5, True], ['rec', 40, False]]], 10),
('normal control 3',
[[['rec', 49, False], ['rush', 49, False], ['pass', 40, False], ['rec', 39, True], ['rec', 19, False],
['rush', 5, True]]],
15),
('normal control 4', [[['rec', 19, True]]], 0)],
[('regression: tier check order',
[[['rec', 5, False], ['pass', 19, True], ['pass', 50, True], ['rush', 50, False]]], 35),
('partial repair probe: tier check order',
[[['rush', 20, True], ['rec', 50, True], ['pass', 39, False], ['pass', 51, False]]], 40),
('second regression', [[['rush', 19, False], ['rush', 50, False], ['pass', 20, True], ['rush', 51, True]]],
40),
('normal control 1', [[['rush', 39, True], ['rec', 40, False], ['pass', 39, True], ['rush', 9, False]]],
10),
('normal control 2', [[['rush', 39, True], ['pass', 40, False]]], 5),
('normal control 3', [[['rec', 20, False], ['rush', -3, False], ['rec', -3, True], ['pass', -3, False]]],
5),
('normal control 4', [[['rush', 50, False], ['pass', 49, False], ['rush', 20, True], ['pass', -3, False]]],
10)],
[('regression: tier check order', [[['pass', 49, False], ['pass', 51, True]]], 30),
('partial repair probe: tier check order', [[['rec', 50, True], ['rec', 50, True], ['rush', 20, True]]],
95),
('second regression',
[[['rec', 5, True], ['rush', 19, False], ['pass', 41, False], ['rush', 51, True], ['rec', 20, True]]],
60),
('normal control 1',
[[['rush', 19, True], ['pass', 51, False], ['pass', 39, False], ['pass', 51, False], ['pass', 49, True]]],
20),
('normal control 2',
[[['pass', 39, False], ['rec', 50, False], ['rec', 50, False], ['rush', 3, True], ['rush', 19, False],
['rec', 5, True]]],
10),
('normal control 3', [[['pass', 20, False]]], 0),
('normal control 4',
[[['pass', 39, False], ['rec', 20, True], ['pass', 40, False], ['pass', 41, False], ['pass', 39, False]]],
5)],
[('regression: tier check order',
[[['pass', 50, True], ['pass', 40, True], ['rush', 49, False], ['pass', 43, True]]], 95),
('partial repair probe: tier check order', [[['rush', 39, True], ['pass', 50, True], ['pass', 5, False]]],
35),
('second regression', [[['pass', 50, True]]], 30),
('normal control 1', [[['pass', 20, True], ['rush', 40, False], ['rush', 39, False], ['pass', 49, True]]],
30),
('normal control 2',
[[['rush', 39, False], ['rec', 49, False], ['pass', 61, False], ['pass', -3, False], ['rush', 19, True],
['rec', 5, False]]],
10),
('normal control 3', [[['rec', 5, False], ['pass', -5, True]]], 0),
('normal control 4', [[['rush', 53, False], ['pass', 39, False]]], 5)],
[('regression: tier check order',
[[['rush', 50, True], ['rush', 20, True], ['pass', 49, False], ['rec', -3, False]]], 40),
('partial repair probe: tier check order',
[[['rec', 49, False], ['rush', 51, False], ['rush', 51, True], ['rec', 5, True], ['rec', 50, True]]],
100),
('second regression',
[[['rush', 51, True], ['rec', 55, False], ['rec', 41, True], ['pass', 39, False], ['pass', 5, False]]],
65),
('normal control 1',
[[['pass', 41, False], ['rush', 40, False], ['rec', 5, False], ['rush', 49, True], ['pass', 49, False]]],
30),
('normal control 2', [[['pass', 51, False], ['pass', -3, False]]], 0),
('normal control 3', [[['rec', 19, False]]], 0),
('normal control 4', [[['rush', 49, False], ['rush', 20, True], ['rush', 49, False], ['rush', 40, False]]],
20)]]
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: tier check order | 25 | 35 | Failed |
| partial repair probe: tier check order | 40 | 50 | Failed |
| second regression | 35 | 45 | Failed |
| normal control 1 | 20 | 20 | Passed |
| normal control 2 | 10 | 10 | Passed |
| normal control 3 | 15 | 15 | Passed |
| normal control 4 | 0 | 0 | Passed |
SHA-256 / dc60fb3f002a45a351ae8fa1b7aa5c5caf3c5ea46af4d392321cc684af09f067
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(plays):
bonus = 0
for kind, yards, td in plays:
if td and yards >= 40:
bonus += 20 + (10 if yards > 50 else 0)
if kind != 'pass' and yards >= 20:
bonus += 5
tds = sum(1 for _, _, td in plays if td)
if tds >= 3:
bonus += 20
return bonus
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: tier check order', [[['pass', 5, False], ['rush', 50, True], ['rush', 19, False]]], 35),
('partial repair probe: tier check order',
[[['rec', -3, True], ['pass', 19, False], ['rec', 3, False], ['rush', 5, True], ['pass', 50, True]]], 50),
('second regression', [[['rec', 50, True], ['rec', 40, False], ['rec', 39, True]]], 45),
('normal control 1', [[['rec', 19, False], ['pass', 40, True]]], 20),
('normal control 2', [[['rec', 50, False], ['rec', 5, True], ['rec', 40, False]]], 10),
('normal control 3',
[[['rec', 49, False], ['rush', 49, False], ['pass', 40, False], ['rec', 39, True], ['rec', 19, False],
['rush', 5, True]]],
15),
('normal control 4', [[['rec', 19, True]]], 0)],
[('regression: tier check order',
[[['rec', 5, False], ['pass', 19, True], ['pass', 50, True], ['rush', 50, False]]], 35),
('partial repair probe: tier check order',
[[['rush', 20, True], ['rec', 50, True], ['pass', 39, False], ['pass', 51, False]]], 40),
('second regression', [[['rush', 19, False], ['rush', 50, False], ['pass', 20, True], ['rush', 51, True]]],
40),
('normal control 1', [[['rush', 39, True], ['rec', 40, False], ['pass', 39, True], ['rush', 9, False]]],
10),
('normal control 2', [[['rush', 39, True], ['pass', 40, False]]], 5),
('normal control 3', [[['rec', 20, False], ['rush', -3, False], ['rec', -3, True], ['pass', -3, False]]],
5),
('normal control 4', [[['rush', 50, False], ['pass', 49, False], ['rush', 20, True], ['pass', -3, False]]],
10)],
[('regression: tier check order', [[['pass', 49, False], ['pass', 51, True]]], 30),
('partial repair probe: tier check order', [[['rec', 50, True], ['rec', 50, True], ['rush', 20, True]]],
95),
('second regression',
[[['rec', 5, True], ['rush', 19, False], ['pass', 41, False], ['rush', 51, True], ['rec', 20, True]]],
60),
('normal control 1',
[[['rush', 19, True], ['pass', 51, False], ['pass', 39, False], ['pass', 51, False], ['pass', 49, True]]],
20),
('normal control 2',
[[['pass', 39, False], ['rec', 50, False], ['rec', 50, False], ['rush', 3, True], ['rush', 19, False],
['rec', 5, True]]],
10),
('normal control 3', [[['pass', 20, False]]], 0),
('normal control 4',
[[['pass', 39, False], ['rec', 20, True], ['pass', 40, False], ['pass', 41, False], ['pass', 39, False]]],
5)],
[('regression: tier check order',
[[['pass', 50, True], ['pass', 40, True], ['rush', 49, False], ['pass', 43, True]]], 95),
('partial repair probe: tier check order', [[['rush', 39, True], ['pass', 50, True], ['pass', 5, False]]],
35),
('second regression', [[['pass', 50, True]]], 30),
('normal control 1', [[['pass', 20, True], ['rush', 40, False], ['rush', 39, False], ['pass', 49, True]]],
30),
('normal control 2',
[[['rush', 39, False], ['rec', 49, False], ['pass', 61, False], ['pass', -3, False], ['rush', 19, True],
['rec', 5, False]]],
10),
('normal control 3', [[['rec', 5, False], ['pass', -5, True]]], 0),
('normal control 4', [[['rush', 53, False], ['pass', 39, False]]], 5)],
[('regression: tier check order',
[[['rush', 50, True], ['rush', 20, True], ['pass', 49, False], ['rec', -3, False]]], 40),
('partial repair probe: tier check order',
[[['rec', 49, False], ['rush', 51, False], ['rush', 51, True], ['rec', 5, True], ['rec', 50, True]]],
100),
('second regression',
[[['rush', 51, True], ['rec', 55, False], ['rec', 41, True], ['pass', 39, False], ['pass', 5, False]]],
65),
('normal control 1',
[[['pass', 41, False], ['rush', 40, False], ['rec', 5, False], ['rush', 49, True], ['pass', 49, False]]],
30),
('normal control 2', [[['pass', 51, False], ['pass', -3, False]]], 0),
('normal control 3', [[['rec', 19, False]]], 0),
('normal control 4', [[['rush', 49, False], ['rush', 20, True], ['rush', 49, False], ['rush', 40, False]]],
20)]]
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: tier check order | 25 | 35 | Failed |
| partial repair probe: tier check order | 40 | 50 | Failed |
| second regression | 35 | 45 | Failed |
| normal control 1 | 20 | 20 | Passed |
| normal control 2 | 10 | 10 | Passed |
| normal control 3 | 15 | 15 | Passed |
| normal control 4 | 0 | 0 | Passed |
SHA-256 / b3c5faf1959685cd0696b6e7275723d46a5070fb89dc5df72d469be3e3050508
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(plays):
bonus = 0
for kind, yards, td in plays:
if td and yards >= 50:
bonus += 30
elif td and yards >= 40:
bonus += 20
if kind != 'pass' and yards >= 20:
bonus += 5
tds = sum(1 for _, _, td in plays if td)
if tds >= 3:
bonus += 20
return bonus
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: tier check order', [[['pass', 5, False], ['rush', 50, True], ['rush', 19, False]]], 35),
('partial repair probe: tier check order',
[[['rec', -3, True], ['pass', 19, False], ['rec', 3, False], ['rush', 5, True], ['pass', 50, True]]], 50),
('second regression', [[['rec', 50, True], ['rec', 40, False], ['rec', 39, True]]], 45),
('normal control 1', [[['rec', 19, False], ['pass', 40, True]]], 20),
('normal control 2', [[['rec', 50, False], ['rec', 5, True], ['rec', 40, False]]], 10),
('normal control 3',
[[['rec', 49, False], ['rush', 49, False], ['pass', 40, False], ['rec', 39, True], ['rec', 19, False],
['rush', 5, True]]],
15),
('normal control 4', [[['rec', 19, True]]], 0)],
[('regression: tier check order',
[[['rec', 5, False], ['pass', 19, True], ['pass', 50, True], ['rush', 50, False]]], 35),
('partial repair probe: tier check order',
[[['rush', 20, True], ['rec', 50, True], ['pass', 39, False], ['pass', 51, False]]], 40),
('second regression', [[['rush', 19, False], ['rush', 50, False], ['pass', 20, True], ['rush', 51, True]]],
40),
('normal control 1', [[['rush', 39, True], ['rec', 40, False], ['pass', 39, True], ['rush', 9, False]]],
10),
('normal control 2', [[['rush', 39, True], ['pass', 40, False]]], 5),
('normal control 3', [[['rec', 20, False], ['rush', -3, False], ['rec', -3, True], ['pass', -3, False]]],
5),
('normal control 4', [[['rush', 50, False], ['pass', 49, False], ['rush', 20, True], ['pass', -3, False]]],
10)],
[('regression: tier check order', [[['pass', 49, False], ['pass', 51, True]]], 30),
('partial repair probe: tier check order', [[['rec', 50, True], ['rec', 50, True], ['rush', 20, True]]],
95),
('second regression',
[[['rec', 5, True], ['rush', 19, False], ['pass', 41, False], ['rush', 51, True], ['rec', 20, True]]],
60),
('normal control 1',
[[['rush', 19, True], ['pass', 51, False], ['pass', 39, False], ['pass', 51, False], ['pass', 49, True]]],
20),
('normal control 2',
[[['pass', 39, False], ['rec', 50, False], ['rec', 50, False], ['rush', 3, True], ['rush', 19, False],
['rec', 5, True]]],
10),
('normal control 3', [[['pass', 20, False]]], 0),
('normal control 4',
[[['pass', 39, False], ['rec', 20, True], ['pass', 40, False], ['pass', 41, False], ['pass', 39, False]]],
5)],
[('regression: tier check order',
[[['pass', 50, True], ['pass', 40, True], ['rush', 49, False], ['pass', 43, True]]], 95),
('partial repair probe: tier check order', [[['rush', 39, True], ['pass', 50, True], ['pass', 5, False]]],
35),
('second regression', [[['pass', 50, True]]], 30),
('normal control 1', [[['pass', 20, True], ['rush', 40, False], ['rush', 39, False], ['pass', 49, True]]],
30),
('normal control 2',
[[['rush', 39, False], ['rec', 49, False], ['pass', 61, False], ['pass', -3, False], ['rush', 19, True],
['rec', 5, False]]],
10),
('normal control 3', [[['rec', 5, False], ['pass', -5, True]]], 0),
('normal control 4', [[['rush', 53, False], ['pass', 39, False]]], 5)],
[('regression: tier check order',
[[['rush', 50, True], ['rush', 20, True], ['pass', 49, False], ['rec', -3, False]]], 40),
('partial repair probe: tier check order',
[[['rec', 49, False], ['rush', 51, False], ['rush', 51, True], ['rec', 5, True], ['rec', 50, True]]],
100),
('second regression',
[[['rush', 51, True], ['rec', 55, False], ['rec', 41, True], ['pass', 39, False], ['pass', 5, False]]],
65),
('normal control 1',
[[['pass', 41, False], ['rush', 40, False], ['rec', 5, False], ['rush', 49, True], ['pass', 49, False]]],
30),
('normal control 2', [[['pass', 51, False], ['pass', -3, False]]], 0),
('normal control 3', [[['rec', 19, False]]], 0),
('normal control 4', [[['rush', 49, False], ['rush', 20, True], ['rush', 49, False], ['rush', 40, False]]],
20)]]
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: tier check order | 35 | 35 | Passed |
| partial repair probe: tier check order | 50 | 50 | Passed |
| second regression | 45 | 45 | Passed |
| normal control 1 | 20 | 20 | Passed |
| normal control 2 | 10 | 10 | Passed |
| normal control 3 | 15 | 15 | Passed |
| normal control 4 | 0 | 0 | Passed |
SHA-256 / 032f1bcc39887749ba308fcdb91b09874eb4c892b66e38a8a98b5b43f0e715fd
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:39.257485+00:00.
Case digest / 2d9525663e0185b6a06520180449075e8610e0ed4071aa783bb5e2c9c1e8b1de