FAILURE MAP
← Case archive

FA-85236 / Fantasy sports scoring / Open access

Yellow card also charged on a red-carded player · case 01

A player sent off after two bookings loses 4 points.

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

ROOT CAUSE

The yellow penalty is independent of the red card.

VERIFIED REPAIR

Charge the red card only, ignoring the yellow when both are present.

Unsuccessful approach: Reducing the red penalty to compensate under-charges straight reds.

Case contract

Score an association-football fantasy player. 0 minutes scores 0 (even cards shown on the bench). Appearance 1, or 2 for 60+ minutes. Goals GK/DEF 6, MID 5, FWD 4; assist 3. Clean sheet (0 conceded while on pitch, 60+ minutes) GK/DEF 4, MID 1. GK/DEF lose 1 per 2 goals conceded (floor). GK +1 per 3 saves. Penalty save 5, penalty miss -2, own goal -2. A red card is -3 and replaces any yellow (-1).

Why this case matters

Position-dependent values and minute thresholds are the heart of football fantasy scoring.

1 / The failure

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

N = 1
observations = []
def solve(p):
    if p['minutes'] == 0:
        return 0
    pos = p['pos']
    pts = 2 if p['minutes'] >= 60 else 1
    pts += p['goals'] * {'GK': 6, 'DEF': 6, 'MID': 5, 'FWD': 4}[pos]
    pts += p['assists'] * 3
    if p['conceded'] == 0 and p['minutes'] >= 60:
        pts += {'GK': 4, 'DEF': 4, 'MID': 1, 'FWD': 0}[pos]
    if pos in ('GK', 'DEF'):
        pts -= p['conceded'] // 2
    if pos == 'GK':
        pts += p['saves'] // 3
    pts += p['pen_saved'] * 5 - p['pen_missed'] * 2 - p['own_goals'] * 2
    if p['red']:
        pts -= 3
    if p['yellow']:
        pts -= 1
    return pts
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: second yellow replacement',
   [{'assists': 1,
     'conceded': 0,
     'goals': 2,
     'minutes': 46,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'MID',
     'red': True,
     'saves': 0,
     'yellow': True}],
   9),
  ('partial repair probe: second yellow replacement',
   [{'assists': 1,
     'conceded': 4,
     'goals': 2,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': True,
     'saves': 0,
     'yellow': False}],
   12),
  ('second regression',
   [{'assists': 2,
     'conceded': 3,
     'goals': 0,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'GK',
     'red': True,
     'saves': 6,
     'yellow': False}],
   4),
  ('normal control 1',
   [{'assists': 1,
     'conceded': 1,
     'goals': 0,
     'minutes': 46,
     'own_goals': 1,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': False,
     'saves': 0,
     'yellow': False}],
   0),
  ('normal control 2',
   [{'assists': 2,
     'conceded': 3,
     'goals': 2,
     'minutes': 45,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': False,
     'saves': 0,
     'yellow': False}],
   17),
  ('normal control 3',
   [{'assists': 2,
     'conceded': 1,
     'goals': 0,
     'minutes': 60,
     'own_goals': 1,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': False,
     'saves': 0,
     'yellow': False}],
   4),
  ('normal control 4',
   [{'assists': 2,
     'conceded': 0,
     'goals': 0,
     'minutes': 45,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': False,
     'saves': 0,
     'yellow': False}],
   7)],
 [('regression: second yellow replacement',
   [{'assists': 1,
     'conceded': 1,
     'goals': 0,
     'minutes': 90,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': True,
     'saves': 0,
     'yellow': True}],
   2),
  ('partial repair probe: second yellow replacement',
   [{'assists': 0,
     'conceded': 2,
     'goals': 2,
     'minutes': 45,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': True,
     'saves': 0,
     'yellow': False}],
   4),
  ('second regression',
   [{'assists': 1,
     'conceded': 0,
     'goals': 0,
     'minutes': 60,
     'own_goals': 1,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': True,
     'saves': 0,
     'yellow': False}],
   2),
  ('normal control 1',
   [{'assists': 0,
     'conceded': 0,
     'goals': 0,
     'minutes': 0,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': False,
     'saves': 0,
     'yellow': False}],
   0),
  ('normal control 2',
   [{'assists': 2,
     'conceded': 1,
     'goals': 2,
     'minutes': 1,
     'own_goals': 1,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': False,
     'saves': 0,
     'yellow': False}],
   11),
  ('normal control 3',
   [{'assists': 0,
     'conceded': 4,
     'goals': 2,
     'minutes': 60,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 4,
     'yellow': False}],
   11),
  ('normal control 4',
   [{'assists': 2,
     'conceded': 1,
     'goals': 0,
     'minutes': 61,
     'own_goals': 1,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 5,
     'yellow': True}],
   4)],
 [('regression: second yellow replacement',
   [{'assists': 2,
     'conceded': 0,
     'goals': 1,
     'minutes': 90,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': True,
     'saves': 0,
     'yellow': True}],
   7),
  ('partial repair probe: second yellow replacement',
   [{'assists': 2,
     'conceded': 3,
     'goals': 1,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'MID',
     'red': True,
     'saves': 0,
     'yellow': False}],
   8),
  ('second regression',
   [{'assists': 0,
     'conceded': 4,
     'goals': 0,
     'minutes': 1,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': True,
     'saves': 0,
     'yellow': False}],
   -6),
  ('normal control 1',
   [{'assists': 1,
     'conceded': 2,
     'goals': 0,
     'minutes': 1,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': False,
     'saves': 0,
     'yellow': False}],
   3),
  ('normal control 2',
   [{'assists': 0,
     'conceded': 4,
     'goals': 2,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': False,
     'saves': 0,
     'yellow': False}],
   12),
  ('normal control 3',
   [{'assists': 0,
     'conceded': 4,
     'goals': 2,
     'minutes': 90,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': False,
     'saves': 0,
     'yellow': False}],
   8),
  ('normal control 4',
   [{'assists': 2,
     'conceded': 3,
     'goals': 0,
     'minutes': 1,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 2,
     'yellow': False}],
   4)],
 [('regression: second yellow replacement',
   [{'assists': 2,
     'conceded': 3,
     'goals': 1,
     'minutes': 46,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': True,
     'saves': 0,
     'yellow': True}],
   9),
  ('partial repair probe: second yellow replacement',
   [{'assists': 1,
     'conceded': 2,
     'goals': 1,
     'minutes': 45,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': True,
     'saves': 0,
     'yellow': False}],
   5),
  ('second regression',
   [{'assists': 0,
     'conceded': 0,
     'goals': 0,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'GK',
     'red': True,
     'saves': 7,
     'yellow': True}],
   3),
  ('normal control 1',
   [{'assists': 1,
     'conceded': 4,
     'goals': 0,
     'minutes': 90,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': False,
     'saves': 0,
     'yellow': True}],
   4),
  ('normal control 2',
   [{'assists': 2,
     'conceded': 2,
     'goals': 0,
     'minutes': 60,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 5,
     'yellow': False}],
   8),
  ('normal control 3',
   [{'assists': 1,
     'conceded': 3,
     'goals': 0,
     'minutes': 90,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': False,
     'saves': 0,
     'yellow': False}],
   3),
  ('normal control 4',
   [{'assists': 1,
     'conceded': 0,
     'goals': 0,
     'minutes': 59,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 6,
     'yellow': True}],
   5)],
 [('regression: second yellow replacement',
   [{'assists': 2,
     'conceded': 3,
     'goals': 0,
     'minutes': 60,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': True,
     'saves': 0,
     'yellow': True}],
   3),
  ('partial repair probe: second yellow replacement',
   [{'assists': 1,
     'conceded': 4,
     'goals': 0,
     'minutes': 61,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': True,
     'saves': 4,
     'yellow': False}],
   -1),
  ('second regression',
   [{'assists': 1,
     'conceded': 0,
     'goals': 0,
     'minutes': 45,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': True,
     'saves': 7,
     'yellow': True}],
   3),
  ('normal control 1',
   [{'assists': 1,
     'conceded': 2,
     'goals': 0,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': False,
     'saves': 0,
     'yellow': False}],
   5),
  ('normal control 2',
   [{'assists': 1,
     'conceded': 0,
     'goals': 2,
     'minutes': 45,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': False,
     'saves': 0,
     'yellow': False}],
   16),
  ('normal control 3',
   [{'assists': 1,
     'conceded': 4,
     'goals': 2,
     'minutes': 45,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 5,
     'yellow': False}],
   13),
  ('normal control 4',
   [{'assists': 2,
     'conceded': 2,
     'goals': 0,
     'minutes': 46,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 6,
     'yellow': False}],
   6)]]
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: second yellow replacement89Failed
partial repair probe: second yellow replacement1212Passed
second regression44Passed
normal control 100Passed
normal control 21717Passed
normal control 344Passed
normal control 477Passed

SHA-256 / 031be3e67055f50097a7625e00438afdca24025376a13d82b19b56c368798269

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(p):
    if p['minutes'] == 0:
        return 0
    pos = p['pos']
    pts = 2 if p['minutes'] >= 60 else 1
    pts += p['goals'] * {'GK': 6, 'DEF': 6, 'MID': 5, 'FWD': 4}[pos]
    pts += p['assists'] * 3
    if p['conceded'] == 0 and p['minutes'] >= 60:
        pts += {'GK': 4, 'DEF': 4, 'MID': 1, 'FWD': 0}[pos]
    if pos in ('GK', 'DEF'):
        pts -= p['conceded'] // 2
    if pos == 'GK':
        pts += p['saves'] // 3
    pts += p['pen_saved'] * 5 - p['pen_missed'] * 2 - p['own_goals'] * 2
    if p['red']:
        pts -= 2
    if p['yellow']:
        pts -= 1
    return pts
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: second yellow replacement',
   [{'assists': 1,
     'conceded': 0,
     'goals': 2,
     'minutes': 46,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'MID',
     'red': True,
     'saves': 0,
     'yellow': True}],
   9),
  ('partial repair probe: second yellow replacement',
   [{'assists': 1,
     'conceded': 4,
     'goals': 2,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': True,
     'saves': 0,
     'yellow': False}],
   12),
  ('second regression',
   [{'assists': 2,
     'conceded': 3,
     'goals': 0,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'GK',
     'red': True,
     'saves': 6,
     'yellow': False}],
   4),
  ('normal control 1',
   [{'assists': 1,
     'conceded': 1,
     'goals': 0,
     'minutes': 46,
     'own_goals': 1,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': False,
     'saves': 0,
     'yellow': False}],
   0),
  ('normal control 2',
   [{'assists': 2,
     'conceded': 3,
     'goals': 2,
     'minutes': 45,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': False,
     'saves': 0,
     'yellow': False}],
   17),
  ('normal control 3',
   [{'assists': 2,
     'conceded': 1,
     'goals': 0,
     'minutes': 60,
     'own_goals': 1,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': False,
     'saves': 0,
     'yellow': False}],
   4),
  ('normal control 4',
   [{'assists': 2,
     'conceded': 0,
     'goals': 0,
     'minutes': 45,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': False,
     'saves': 0,
     'yellow': False}],
   7)],
 [('regression: second yellow replacement',
   [{'assists': 1,
     'conceded': 1,
     'goals': 0,
     'minutes': 90,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': True,
     'saves': 0,
     'yellow': True}],
   2),
  ('partial repair probe: second yellow replacement',
   [{'assists': 0,
     'conceded': 2,
     'goals': 2,
     'minutes': 45,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': True,
     'saves': 0,
     'yellow': False}],
   4),
  ('second regression',
   [{'assists': 1,
     'conceded': 0,
     'goals': 0,
     'minutes': 60,
     'own_goals': 1,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': True,
     'saves': 0,
     'yellow': False}],
   2),
  ('normal control 1',
   [{'assists': 0,
     'conceded': 0,
     'goals': 0,
     'minutes': 0,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': False,
     'saves': 0,
     'yellow': False}],
   0),
  ('normal control 2',
   [{'assists': 2,
     'conceded': 1,
     'goals': 2,
     'minutes': 1,
     'own_goals': 1,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': False,
     'saves': 0,
     'yellow': False}],
   11),
  ('normal control 3',
   [{'assists': 0,
     'conceded': 4,
     'goals': 2,
     'minutes': 60,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 4,
     'yellow': False}],
   11),
  ('normal control 4',
   [{'assists': 2,
     'conceded': 1,
     'goals': 0,
     'minutes': 61,
     'own_goals': 1,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 5,
     'yellow': True}],
   4)],
 [('regression: second yellow replacement',
   [{'assists': 2,
     'conceded': 0,
     'goals': 1,
     'minutes': 90,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': True,
     'saves': 0,
     'yellow': True}],
   7),
  ('partial repair probe: second yellow replacement',
   [{'assists': 2,
     'conceded': 3,
     'goals': 1,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'MID',
     'red': True,
     'saves': 0,
     'yellow': False}],
   8),
  ('second regression',
   [{'assists': 0,
     'conceded': 4,
     'goals': 0,
     'minutes': 1,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': True,
     'saves': 0,
     'yellow': False}],
   -6),
  ('normal control 1',
   [{'assists': 1,
     'conceded': 2,
     'goals': 0,
     'minutes': 1,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': False,
     'saves': 0,
     'yellow': False}],
   3),
  ('normal control 2',
   [{'assists': 0,
     'conceded': 4,
     'goals': 2,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': False,
     'saves': 0,
     'yellow': False}],
   12),
  ('normal control 3',
   [{'assists': 0,
     'conceded': 4,
     'goals': 2,
     'minutes': 90,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': False,
     'saves': 0,
     'yellow': False}],
   8),
  ('normal control 4',
   [{'assists': 2,
     'conceded': 3,
     'goals': 0,
     'minutes': 1,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 2,
     'yellow': False}],
   4)],
 [('regression: second yellow replacement',
   [{'assists': 2,
     'conceded': 3,
     'goals': 1,
     'minutes': 46,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': True,
     'saves': 0,
     'yellow': True}],
   9),
  ('partial repair probe: second yellow replacement',
   [{'assists': 1,
     'conceded': 2,
     'goals': 1,
     'minutes': 45,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': True,
     'saves': 0,
     'yellow': False}],
   5),
  ('second regression',
   [{'assists': 0,
     'conceded': 0,
     'goals': 0,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'GK',
     'red': True,
     'saves': 7,
     'yellow': True}],
   3),
  ('normal control 1',
   [{'assists': 1,
     'conceded': 4,
     'goals': 0,
     'minutes': 90,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': False,
     'saves': 0,
     'yellow': True}],
   4),
  ('normal control 2',
   [{'assists': 2,
     'conceded': 2,
     'goals': 0,
     'minutes': 60,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 5,
     'yellow': False}],
   8),
  ('normal control 3',
   [{'assists': 1,
     'conceded': 3,
     'goals': 0,
     'minutes': 90,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': False,
     'saves': 0,
     'yellow': False}],
   3),
  ('normal control 4',
   [{'assists': 1,
     'conceded': 0,
     'goals': 0,
     'minutes': 59,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 6,
     'yellow': True}],
   5)],
 [('regression: second yellow replacement',
   [{'assists': 2,
     'conceded': 3,
     'goals': 0,
     'minutes': 60,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': True,
     'saves': 0,
     'yellow': True}],
   3),
  ('partial repair probe: second yellow replacement',
   [{'assists': 1,
     'conceded': 4,
     'goals': 0,
     'minutes': 61,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': True,
     'saves': 4,
     'yellow': False}],
   -1),
  ('second regression',
   [{'assists': 1,
     'conceded': 0,
     'goals': 0,
     'minutes': 45,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': True,
     'saves': 7,
     'yellow': True}],
   3),
  ('normal control 1',
   [{'assists': 1,
     'conceded': 2,
     'goals': 0,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': False,
     'saves': 0,
     'yellow': False}],
   5),
  ('normal control 2',
   [{'assists': 1,
     'conceded': 0,
     'goals': 2,
     'minutes': 45,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': False,
     'saves': 0,
     'yellow': False}],
   16),
  ('normal control 3',
   [{'assists': 1,
     'conceded': 4,
     'goals': 2,
     'minutes': 45,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 5,
     'yellow': False}],
   13),
  ('normal control 4',
   [{'assists': 2,
     'conceded': 2,
     'goals': 0,
     'minutes': 46,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 6,
     'yellow': False}],
   6)]]
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: second yellow replacement99Passed
partial repair probe: second yellow replacement1312Failed
second regression54Failed
normal control 100Passed
normal control 21717Passed
normal control 344Passed
normal control 477Passed

SHA-256 / 8404970a6947537689fa9971e5f12c2d2f0b34735b20b38297d00090f4d078be

3 / The verified repair

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

N = 1
observations = []
def solve(p):
    if p['minutes'] == 0:
        return 0
    pos = p['pos']
    pts = 2 if p['minutes'] >= 60 else 1
    pts += p['goals'] * {'GK': 6, 'DEF': 6, 'MID': 5, 'FWD': 4}[pos]
    pts += p['assists'] * 3
    if p['conceded'] == 0 and p['minutes'] >= 60:
        pts += {'GK': 4, 'DEF': 4, 'MID': 1, 'FWD': 0}[pos]
    if pos in ('GK', 'DEF'):
        pts -= p['conceded'] // 2
    if pos == 'GK':
        pts += p['saves'] // 3
    pts += p['pen_saved'] * 5 - p['pen_missed'] * 2 - p['own_goals'] * 2
    if p['red']:
        pts -= 3
    elif p['yellow']:
        pts -= 1
    return pts
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: second yellow replacement',
   [{'assists': 1,
     'conceded': 0,
     'goals': 2,
     'minutes': 46,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'MID',
     'red': True,
     'saves': 0,
     'yellow': True}],
   9),
  ('partial repair probe: second yellow replacement',
   [{'assists': 1,
     'conceded': 4,
     'goals': 2,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': True,
     'saves': 0,
     'yellow': False}],
   12),
  ('second regression',
   [{'assists': 2,
     'conceded': 3,
     'goals': 0,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'GK',
     'red': True,
     'saves': 6,
     'yellow': False}],
   4),
  ('normal control 1',
   [{'assists': 1,
     'conceded': 1,
     'goals': 0,
     'minutes': 46,
     'own_goals': 1,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': False,
     'saves': 0,
     'yellow': False}],
   0),
  ('normal control 2',
   [{'assists': 2,
     'conceded': 3,
     'goals': 2,
     'minutes': 45,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': False,
     'saves': 0,
     'yellow': False}],
   17),
  ('normal control 3',
   [{'assists': 2,
     'conceded': 1,
     'goals': 0,
     'minutes': 60,
     'own_goals': 1,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': False,
     'saves': 0,
     'yellow': False}],
   4),
  ('normal control 4',
   [{'assists': 2,
     'conceded': 0,
     'goals': 0,
     'minutes': 45,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': False,
     'saves': 0,
     'yellow': False}],
   7)],
 [('regression: second yellow replacement',
   [{'assists': 1,
     'conceded': 1,
     'goals': 0,
     'minutes': 90,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': True,
     'saves': 0,
     'yellow': True}],
   2),
  ('partial repair probe: second yellow replacement',
   [{'assists': 0,
     'conceded': 2,
     'goals': 2,
     'minutes': 45,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': True,
     'saves': 0,
     'yellow': False}],
   4),
  ('second regression',
   [{'assists': 1,
     'conceded': 0,
     'goals': 0,
     'minutes': 60,
     'own_goals': 1,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': True,
     'saves': 0,
     'yellow': False}],
   2),
  ('normal control 1',
   [{'assists': 0,
     'conceded': 0,
     'goals': 0,
     'minutes': 0,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': False,
     'saves': 0,
     'yellow': False}],
   0),
  ('normal control 2',
   [{'assists': 2,
     'conceded': 1,
     'goals': 2,
     'minutes': 1,
     'own_goals': 1,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': False,
     'saves': 0,
     'yellow': False}],
   11),
  ('normal control 3',
   [{'assists': 0,
     'conceded': 4,
     'goals': 2,
     'minutes': 60,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 4,
     'yellow': False}],
   11),
  ('normal control 4',
   [{'assists': 2,
     'conceded': 1,
     'goals': 0,
     'minutes': 61,
     'own_goals': 1,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 5,
     'yellow': True}],
   4)],
 [('regression: second yellow replacement',
   [{'assists': 2,
     'conceded': 0,
     'goals': 1,
     'minutes': 90,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': True,
     'saves': 0,
     'yellow': True}],
   7),
  ('partial repair probe: second yellow replacement',
   [{'assists': 2,
     'conceded': 3,
     'goals': 1,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'MID',
     'red': True,
     'saves': 0,
     'yellow': False}],
   8),
  ('second regression',
   [{'assists': 0,
     'conceded': 4,
     'goals': 0,
     'minutes': 1,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': True,
     'saves': 0,
     'yellow': False}],
   -6),
  ('normal control 1',
   [{'assists': 1,
     'conceded': 2,
     'goals': 0,
     'minutes': 1,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': False,
     'saves': 0,
     'yellow': False}],
   3),
  ('normal control 2',
   [{'assists': 0,
     'conceded': 4,
     'goals': 2,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': False,
     'saves': 0,
     'yellow': False}],
   12),
  ('normal control 3',
   [{'assists': 0,
     'conceded': 4,
     'goals': 2,
     'minutes': 90,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': False,
     'saves': 0,
     'yellow': False}],
   8),
  ('normal control 4',
   [{'assists': 2,
     'conceded': 3,
     'goals': 0,
     'minutes': 1,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 2,
     'yellow': False}],
   4)],
 [('regression: second yellow replacement',
   [{'assists': 2,
     'conceded': 3,
     'goals': 1,
     'minutes': 46,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': True,
     'saves': 0,
     'yellow': True}],
   9),
  ('partial repair probe: second yellow replacement',
   [{'assists': 1,
     'conceded': 2,
     'goals': 1,
     'minutes': 45,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': True,
     'saves': 0,
     'yellow': False}],
   5),
  ('second regression',
   [{'assists': 0,
     'conceded': 0,
     'goals': 0,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 1,
     'pen_saved': 0,
     'pos': 'GK',
     'red': True,
     'saves': 7,
     'yellow': True}],
   3),
  ('normal control 1',
   [{'assists': 1,
     'conceded': 4,
     'goals': 0,
     'minutes': 90,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': False,
     'saves': 0,
     'yellow': True}],
   4),
  ('normal control 2',
   [{'assists': 2,
     'conceded': 2,
     'goals': 0,
     'minutes': 60,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 5,
     'yellow': False}],
   8),
  ('normal control 3',
   [{'assists': 1,
     'conceded': 3,
     'goals': 0,
     'minutes': 90,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': False,
     'saves': 0,
     'yellow': False}],
   3),
  ('normal control 4',
   [{'assists': 1,
     'conceded': 0,
     'goals': 0,
     'minutes': 59,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 6,
     'yellow': True}],
   5)],
 [('regression: second yellow replacement',
   [{'assists': 2,
     'conceded': 3,
     'goals': 0,
     'minutes': 60,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'FWD',
     'red': True,
     'saves': 0,
     'yellow': True}],
   3),
  ('partial repair probe: second yellow replacement',
   [{'assists': 1,
     'conceded': 4,
     'goals': 0,
     'minutes': 61,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': True,
     'saves': 4,
     'yellow': False}],
   -1),
  ('second regression',
   [{'assists': 1,
     'conceded': 0,
     'goals': 0,
     'minutes': 45,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': True,
     'saves': 7,
     'yellow': True}],
   3),
  ('normal control 1',
   [{'assists': 1,
     'conceded': 2,
     'goals': 0,
     'minutes': 61,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'MID',
     'red': False,
     'saves': 0,
     'yellow': False}],
   5),
  ('normal control 2',
   [{'assists': 1,
     'conceded': 0,
     'goals': 2,
     'minutes': 45,
     'own_goals': 0,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'DEF',
     'red': False,
     'saves': 0,
     'yellow': False}],
   16),
  ('normal control 3',
   [{'assists': 1,
     'conceded': 4,
     'goals': 2,
     'minutes': 45,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 5,
     'yellow': False}],
   13),
  ('normal control 4',
   [{'assists': 2,
     'conceded': 2,
     'goals': 0,
     'minutes': 46,
     'own_goals': 1,
     'pen_missed': 0,
     'pen_saved': 0,
     'pos': 'GK',
     'red': False,
     'saves': 6,
     'yellow': False}],
   6)]]
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: second yellow replacement99Passed
partial repair probe: second yellow replacement1212Passed
second regression44Passed
normal control 100Passed
normal control 21717Passed
normal control 344Passed
normal control 477Passed

SHA-256 / 7895e80ba3fb76d65c70afbc78b5f9aedb15ba23dd4ab00af1b4158831c7eea1

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

Case digest / f352ad6ae83aa278a2a04e417264b5f6bf843b80f1479e466725cd37cb0138c3