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.
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: second yellow replacement | 8 | 9 | Failed |
| partial repair probe: second yellow replacement | 12 | 12 | Passed |
| second regression | 4 | 4 | Passed |
| normal control 1 | 0 | 0 | Passed |
| normal control 2 | 17 | 17 | Passed |
| normal control 3 | 4 | 4 | Passed |
| normal control 4 | 7 | 7 | Passed |
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: second yellow replacement | 9 | 9 | Passed |
| partial repair probe: second yellow replacement | 13 | 12 | Failed |
| second regression | 5 | 4 | Failed |
| normal control 1 | 0 | 0 | Passed |
| normal control 2 | 17 | 17 | Passed |
| normal control 3 | 4 | 4 | Passed |
| normal control 4 | 7 | 7 | Passed |
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: second yellow replacement | 9 | 9 | Passed |
| partial repair probe: second yellow replacement | 12 | 12 | Passed |
| second regression | 4 | 4 | Passed |
| normal control 1 | 0 | 0 | Passed |
| normal control 2 | 17 | 17 | Passed |
| normal control 3 | 4 | 4 | Passed |
| normal control 4 | 7 | 7 | Passed |
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