FAILURE MAP
← Case archive

FA-85281 / Fantasy sports scoring / Open access

Birdie streak bonus repeated on every extra birdie · case 01

Five straight birdies earn three streak bonuses.

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

ROOT CAUSE

The streak bonus fires on every hole once the run reaches three.

VERIFIED REPAIR

Award the bonus once when a run first reaches three.

Unsuccessful approach: Firing at every multiple of three still pays a six-hole run twice.

Case contract

Score a golf round given [par, strokes] per hole, in tenths: albatross or better 13, eagle 8, birdie 3, par 0.5, bogey -0.5, double bogey or worse -1; any hole-in-one earns +5 on top. Each maximal run of three or more consecutive birdie-or-better holes earns one 3 point streak bonus. A complete 18-hole round with no bogey or worse earns +3; a complete 18-hole round under 70 strokes earns +5.

Why this case matters

Golf fantasy streak and round bonuses depend on precise run detection and completion conditions.

1 / The failure

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

N = 1
observations = []
def solve(holes):
    pts = 0
    run = 0
    streaks = 0
    for par, strokes in holes:
        d = strokes - par
        if d <= -3:
            pts += 130
        elif d == -2:
            pts += 80
        elif d == -1:
            pts += 30
        elif d == 0:
            pts += 5
        elif d == 1:
            pts -= 5
        else:
            pts -= 10
        if strokes == 1:
            pts += 50
        if d < 0:
            run += 1
            if run >= 3:
                streaks += 1
        else:
            run = 0
    pts += 30 * streaks
    if len(holes) == 18 and all(s - p <= 0 for p, s in holes):
        pts += 30
    if len(holes) == 18 and sum(s for _, s in holes) < 70:
        pts += 50
    return pts
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: streak counted per hole',
   [[[3, 3], [5, 5], [3, 1], [3, 3], [5, 7], [3, 2], [4, 2], [3, 2], [4, 3], [3, 2], [4, 6], [3, 2], [4, 2],
     [4, 3]]],
   525),
  ('partial repair probe: streak counted per hole',
   [[[3, 2], [5, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 2], [5, 4], [3, 2], [4, 4], [4, 3], [3, 2], [5, 1],
     [4, 3], [3, 1], [3, 1], [5, 5], [5, 5]]],
   905),
  ('second regression',
   [[[4, 2], [3, 5], [4, 4], [5, 3], [4, 3], [4, 3], [4, 3], [5, 7], [4, 4], [5, 5], [3, 3], [4, 4], [4, 4],
     [4, 4], [4, 3], [4, 4], [4, 4], [3, 3]]],
   390),
  ('normal control 1', [[[5, 5], [5, 7], [3, 2], [4, 4], [5, 5], [4, 4], [5, 4], [3, 5], [4, 6]]], 50),
  ('normal control 2',
   [[[4, 4], [3, 3], [4, 3], [4, 6], [4, 3], [3, 3], [3, 4], [4, 3], [4, 4], [4, 2], [5, 5], [3, 3], [3, 2],
     [4, 4], [5, 5], [5, 6], [4, 4], [4, 4]]],
   280),
  ('normal control 3', [[[4, 3], [3, 2], [4, 4], [4, 4], [3, 3], [4, 3], [3, 3], [5, 5], [5, 5]]], 120),
  ('normal control 4',
   [[[4, 6], [5, 6], [3, 2], [4, 3], [5, 4], [5, 5], [3, 5], [4, 6], [4, 3], [4, 2], [4, 4], [4, 3], [4, 4],
     [5, 5], [4, 6], [3, 4], [3, 2], [4, 3]]],
   290)],
 [('regression: streak counted per hole',
   [[[3, 3], [3, 2], [4, 3], [4, 4], [4, 4], [5, 4], [3, 3], [3, 3], [3, 3], [4, 2], [4, 3], [3, 1], [4, 3],
     [4, 4], [4, 4], [4, 4], [3, 3], [5, 3]]],
   600),
  ('partial repair probe: streak counted per hole',
   [[[5, 3], [4, 4], [4, 3], [3, 2], [4, 3], [3, 2], [4, 3], [3, 2], [4, 4], [3, 2], [5, 5], [3, 3], [4, 4],
     [4, 5], [4, 4], [4, 4], [4, 3], [5, 5]]],
   435),
  ('second regression',
   [[[4, 4], [3, 3], [3, 3], [5, 5], [4, 4], [5, 3], [3, 2], [4, 3], [3, 2], [5, 5], [4, 5], [4, 4], [5, 5],
     [4, 4], [5, 7], [5, 1], [4, 4], [3, 1]]],
   595),
  ('normal control 1',
   [[[4, 4], [4, 4], [4, 3], [4, 4], [3, 3], [3, 2], [4, 3], [3, 3], [3, 3], [3, 2], [5, 5], [4, 4], [3, 2],
     [3, 2]]],
   220),
  ('normal control 2',
   [[[3, 2], [4, 3], [5, 4], [5, 5], [5, 5], [5, 5], [4, 6], [5, 3], [3, 4], [4, 4], [4, 4], [3, 1], [3, 3],
     [5, 4], [4, 3], [3, 3], [4, 4], [4, 3]]],
   495),
  ('normal control 3',
   [[[5, 1], [4, 4], [4, 4], [4, 6], [4, 4], [4, 4], [5, 4], [4, 6], [5, 4], [4, 3], [4, 6], [5, 7], [4, 4],
     [3, 3]]],
   260),
  ('normal control 4',
   [[[3, 3], [4, 6], [5, 5], [3, 3], [5, 5], [3, 2], [3, 1], [4, 5], [4, 4], [5, 3], [3, 2], [4, 3], [5, 5],
     [3, 5]]],
   335)],
 [('regression: streak counted per hole',
   [[[3, 5], [4, 3], [5, 4], [3, 2], [4, 4], [3, 3], [4, 3], [5, 7], [5, 4], [5, 5], [5, 4], [3, 2], [4, 3],
     [3, 3], [4, 3], [4, 2], [4, 3], [3, 2]]],
   550),
  ('partial repair probe: streak counted per hole',
   [[[3, 3], [4, 3], [4, 1], [5, 5], [4, 1], [3, 2], [4, 3], [4, 3], [4, 3], [4, 4], [4, 6], [3, 2], [4, 3],
     [5, 4], [4, 3], [5, 4], [4, 3], [4, 4]]],
   810),
  ('second regression',
   [[[3, 3], [3, 2], [3, 2], [5, 4], [4, 4], [4, 4], [5, 5], [3, 3], [3, 2], [4, 4], [5, 5], [4, 4], [3, 2],
     [5, 3], [4, 3], [4, 3], [4, 4], [4, 4]]],
   480),
  ('normal control 1',
   [[[5, 4], [3, 3], [5, 5], [5, 5], [5, 4], [3, 3], [3, 2], [3, 2], [3, 3], [4, 4], [5, 5], [4, 1], [4, 3],
     [4, 4]]],
   370),
  ('normal control 2',
   [[[4, 4], [3, 1], [4, 3], [3, 5], [4, 4], [4, 4], [4, 4], [4, 6], [4, 2], [5, 5], [5, 4], [5, 5], [5, 5],
     [3, 3]]],
   290),
  ('normal control 3', [[[4, 3], [4, 6], [4, 4], [3, 4], [4, 3], [3, 2], [3, 5], [4, 1], [4, 3]]], 280),
  ('normal control 4', [[[4, 5], [3, 3], [4, 4], [4, 4], [5, 5], [4, 5], [3, 4], [4, 3], [4, 4]]], 40)],
 [('regression: streak counted per hole',
   [[[4, 3], [5, 4], [4, 4], [4, 4], [5, 5], [3, 3], [4, 4], [4, 4], [5, 4], [4, 4], [5, 4], [4, 2], [4, 3],
     [4, 3], [3, 2], [4, 3], [3, 3], [4, 3]]],
   500),
  ('partial repair probe: streak counted per hole',
   [[[5, 5], [5, 4], [4, 3], [5, 4], [4, 3], [3, 3], [4, 3], [5, 5], [4, 3], [5, 4], [3, 2], [5, 4], [5, 4],
     [4, 2], [4, 2], [5, 4], [4, 4], [4, 3]]],
   680),
  ('second regression',
   [[[5, 1], [3, 2], [4, 2], [4, 2], [5, 7], [3, 5], [4, 2], [3, 3], [3, 3], [5, 5], [4, 4], [3, 3], [5, 5],
     [3, 2]]],
   520),
  ('normal control 1',
   [[[4, 4], [3, 3], [4, 3], [5, 4], [3, 4], [4, 3], [3, 3], [5, 5], [4, 2], [4, 4], [4, 4], [4, 3], [4, 1],
     [4, 4]]],
   410),
  ('normal control 2',
   [[[4, 6], [4, 5], [3, 3], [5, 5], [4, 3], [5, 3], [4, 3], [5, 5], [4, 1], [4, 5], [4, 3], [3, 2], [4, 4],
     [3, 2]]],
   440),
  ('normal control 3', [[[3, 1], [5, 5], [5, 4], [5, 5], [3, 3], [3, 2], [4, 3], [3, 1], [5, 5]]], 400),
  ('normal control 4',
   [[[4, 2], [4, 3], [3, 3], [5, 4], [5, 5], [4, 4], [3, 2], [4, 5], [4, 2], [4, 4], [4, 4], [3, 2], [3, 2],
     [4, 4], [3, 2], [4, 4], [3, 4], [5, 6]]],
   410)],
 [('regression: streak counted per hole',
   [[[5, 5], [3, 3], [4, 4], [5, 4], [4, 3], [5, 6], [4, 4], [5, 5], [4, 3], [4, 1], [3, 2], [3, 2], [4, 1],
     [5, 6]]],
   555),
  ('partial repair probe: streak counted per hole',
   [[[4, 3], [5, 4], [5, 1], [3, 2], [4, 3], [5, 1], [3, 3], [4, 4], [4, 4], [4, 3], [3, 3], [3, 3], [4, 5],
     [5, 5], [5, 4], [5, 4], [4, 4], [4, 4]]],
   685),
  ('second regression',
   [[[5, 4], [4, 3], [4, 4], [3, 3], [5, 4], [3, 3], [3, 3], [4, 3], [3, 2], [4, 2], [5, 3], [3, 2], [5, 5],
     [4, 3], [4, 4], [3, 3], [3, 1], [3, 2]]],
   675),
  ('normal control 1', [[[4, 2], [4, 6], [5, 4], [4, 6], [4, 5], [4, 4], [3, 3], [4, 3], [4, 3]]], 155),
  ('normal control 2',
   [[[3, 3], [5, 5], [4, 3], [5, 1], [3, 2], [4, 4], [4, 4], [4, 3], [4, 4], [4, 3], [4, 4], [4, 2], [4, 1],
     [4, 4], [5, 4], [5, 5], [5, 5], [4, 4]]],
   750),
  ('normal control 3',
   [[[5, 4], [4, 3], [4, 3], [4, 4], [4, 3], [4, 3], [5, 5], [3, 3], [4, 4], [3, 2], [4, 3], [5, 7], [3, 2],
     [4, 3], [3, 2], [5, 5], [4, 4], [3, 5]]],
   420),
  ('normal control 4',
   [[[5, 7], [3, 1], [5, 4], [4, 3], [4, 4], [3, 5], [4, 3], [4, 4], [5, 4], [5, 1], [4, 3], [4, 4], [4, 3],
     [5, 5], [5, 4], [4, 3], [3, 3], [4, 4]]],
   670)]]
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: streak counted per hole585525Failed
partial repair probe: streak counted per hole995905Failed
second regression420390Failed
normal control 15050Passed
normal control 2280280Passed
normal control 3120120Passed
normal control 4290290Passed

SHA-256 / c0c544e4fa121ed594f10941165b59e4f86455a05dcafd3f43b2dbba74d25956

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(holes):
    pts = 0
    run = 0
    streaks = 0
    for par, strokes in holes:
        d = strokes - par
        if d <= -3:
            pts += 130
        elif d == -2:
            pts += 80
        elif d == -1:
            pts += 30
        elif d == 0:
            pts += 5
        elif d == 1:
            pts -= 5
        else:
            pts -= 10
        if strokes == 1:
            pts += 50
        if d < 0:
            run += 1
            if run % 3 == 0:
                streaks += 1
        else:
            run = 0
    pts += 30 * streaks
    if len(holes) == 18 and all(s - p <= 0 for p, s in holes):
        pts += 30
    if len(holes) == 18 and sum(s for _, s in holes) < 70:
        pts += 50
    return pts
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: streak counted per hole',
   [[[3, 3], [5, 5], [3, 1], [3, 3], [5, 7], [3, 2], [4, 2], [3, 2], [4, 3], [3, 2], [4, 6], [3, 2], [4, 2],
     [4, 3]]],
   525),
  ('partial repair probe: streak counted per hole',
   [[[3, 2], [5, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 2], [5, 4], [3, 2], [4, 4], [4, 3], [3, 2], [5, 1],
     [4, 3], [3, 1], [3, 1], [5, 5], [5, 5]]],
   905),
  ('second regression',
   [[[4, 2], [3, 5], [4, 4], [5, 3], [4, 3], [4, 3], [4, 3], [5, 7], [4, 4], [5, 5], [3, 3], [4, 4], [4, 4],
     [4, 4], [4, 3], [4, 4], [4, 4], [3, 3]]],
   390),
  ('normal control 1', [[[5, 5], [5, 7], [3, 2], [4, 4], [5, 5], [4, 4], [5, 4], [3, 5], [4, 6]]], 50),
  ('normal control 2',
   [[[4, 4], [3, 3], [4, 3], [4, 6], [4, 3], [3, 3], [3, 4], [4, 3], [4, 4], [4, 2], [5, 5], [3, 3], [3, 2],
     [4, 4], [5, 5], [5, 6], [4, 4], [4, 4]]],
   280),
  ('normal control 3', [[[4, 3], [3, 2], [4, 4], [4, 4], [3, 3], [4, 3], [3, 3], [5, 5], [5, 5]]], 120),
  ('normal control 4',
   [[[4, 6], [5, 6], [3, 2], [4, 3], [5, 4], [5, 5], [3, 5], [4, 6], [4, 3], [4, 2], [4, 4], [4, 3], [4, 4],
     [5, 5], [4, 6], [3, 4], [3, 2], [4, 3]]],
   290)],
 [('regression: streak counted per hole',
   [[[3, 3], [3, 2], [4, 3], [4, 4], [4, 4], [5, 4], [3, 3], [3, 3], [3, 3], [4, 2], [4, 3], [3, 1], [4, 3],
     [4, 4], [4, 4], [4, 4], [3, 3], [5, 3]]],
   600),
  ('partial repair probe: streak counted per hole',
   [[[5, 3], [4, 4], [4, 3], [3, 2], [4, 3], [3, 2], [4, 3], [3, 2], [4, 4], [3, 2], [5, 5], [3, 3], [4, 4],
     [4, 5], [4, 4], [4, 4], [4, 3], [5, 5]]],
   435),
  ('second regression',
   [[[4, 4], [3, 3], [3, 3], [5, 5], [4, 4], [5, 3], [3, 2], [4, 3], [3, 2], [5, 5], [4, 5], [4, 4], [5, 5],
     [4, 4], [5, 7], [5, 1], [4, 4], [3, 1]]],
   595),
  ('normal control 1',
   [[[4, 4], [4, 4], [4, 3], [4, 4], [3, 3], [3, 2], [4, 3], [3, 3], [3, 3], [3, 2], [5, 5], [4, 4], [3, 2],
     [3, 2]]],
   220),
  ('normal control 2',
   [[[3, 2], [4, 3], [5, 4], [5, 5], [5, 5], [5, 5], [4, 6], [5, 3], [3, 4], [4, 4], [4, 4], [3, 1], [3, 3],
     [5, 4], [4, 3], [3, 3], [4, 4], [4, 3]]],
   495),
  ('normal control 3',
   [[[5, 1], [4, 4], [4, 4], [4, 6], [4, 4], [4, 4], [5, 4], [4, 6], [5, 4], [4, 3], [4, 6], [5, 7], [4, 4],
     [3, 3]]],
   260),
  ('normal control 4',
   [[[3, 3], [4, 6], [5, 5], [3, 3], [5, 5], [3, 2], [3, 1], [4, 5], [4, 4], [5, 3], [3, 2], [4, 3], [5, 5],
     [3, 5]]],
   335)],
 [('regression: streak counted per hole',
   [[[3, 5], [4, 3], [5, 4], [3, 2], [4, 4], [3, 3], [4, 3], [5, 7], [5, 4], [5, 5], [5, 4], [3, 2], [4, 3],
     [3, 3], [4, 3], [4, 2], [4, 3], [3, 2]]],
   550),
  ('partial repair probe: streak counted per hole',
   [[[3, 3], [4, 3], [4, 1], [5, 5], [4, 1], [3, 2], [4, 3], [4, 3], [4, 3], [4, 4], [4, 6], [3, 2], [4, 3],
     [5, 4], [4, 3], [5, 4], [4, 3], [4, 4]]],
   810),
  ('second regression',
   [[[3, 3], [3, 2], [3, 2], [5, 4], [4, 4], [4, 4], [5, 5], [3, 3], [3, 2], [4, 4], [5, 5], [4, 4], [3, 2],
     [5, 3], [4, 3], [4, 3], [4, 4], [4, 4]]],
   480),
  ('normal control 1',
   [[[5, 4], [3, 3], [5, 5], [5, 5], [5, 4], [3, 3], [3, 2], [3, 2], [3, 3], [4, 4], [5, 5], [4, 1], [4, 3],
     [4, 4]]],
   370),
  ('normal control 2',
   [[[4, 4], [3, 1], [4, 3], [3, 5], [4, 4], [4, 4], [4, 4], [4, 6], [4, 2], [5, 5], [5, 4], [5, 5], [5, 5],
     [3, 3]]],
   290),
  ('normal control 3', [[[4, 3], [4, 6], [4, 4], [3, 4], [4, 3], [3, 2], [3, 5], [4, 1], [4, 3]]], 280),
  ('normal control 4', [[[4, 5], [3, 3], [4, 4], [4, 4], [5, 5], [4, 5], [3, 4], [4, 3], [4, 4]]], 40)],
 [('regression: streak counted per hole',
   [[[4, 3], [5, 4], [4, 4], [4, 4], [5, 5], [3, 3], [4, 4], [4, 4], [5, 4], [4, 4], [5, 4], [4, 2], [4, 3],
     [4, 3], [3, 2], [4, 3], [3, 3], [4, 3]]],
   500),
  ('partial repair probe: streak counted per hole',
   [[[5, 5], [5, 4], [4, 3], [5, 4], [4, 3], [3, 3], [4, 3], [5, 5], [4, 3], [5, 4], [3, 2], [5, 4], [5, 4],
     [4, 2], [4, 2], [5, 4], [4, 4], [4, 3]]],
   680),
  ('second regression',
   [[[5, 1], [3, 2], [4, 2], [4, 2], [5, 7], [3, 5], [4, 2], [3, 3], [3, 3], [5, 5], [4, 4], [3, 3], [5, 5],
     [3, 2]]],
   520),
  ('normal control 1',
   [[[4, 4], [3, 3], [4, 3], [5, 4], [3, 4], [4, 3], [3, 3], [5, 5], [4, 2], [4, 4], [4, 4], [4, 3], [4, 1],
     [4, 4]]],
   410),
  ('normal control 2',
   [[[4, 6], [4, 5], [3, 3], [5, 5], [4, 3], [5, 3], [4, 3], [5, 5], [4, 1], [4, 5], [4, 3], [3, 2], [4, 4],
     [3, 2]]],
   440),
  ('normal control 3', [[[3, 1], [5, 5], [5, 4], [5, 5], [3, 3], [3, 2], [4, 3], [3, 1], [5, 5]]], 400),
  ('normal control 4',
   [[[4, 2], [4, 3], [3, 3], [5, 4], [5, 5], [4, 4], [3, 2], [4, 5], [4, 2], [4, 4], [4, 4], [3, 2], [3, 2],
     [4, 4], [3, 2], [4, 4], [3, 4], [5, 6]]],
   410)],
 [('regression: streak counted per hole',
   [[[5, 5], [3, 3], [4, 4], [5, 4], [4, 3], [5, 6], [4, 4], [5, 5], [4, 3], [4, 1], [3, 2], [3, 2], [4, 1],
     [5, 6]]],
   555),
  ('partial repair probe: streak counted per hole',
   [[[4, 3], [5, 4], [5, 1], [3, 2], [4, 3], [5, 1], [3, 3], [4, 4], [4, 4], [4, 3], [3, 3], [3, 3], [4, 5],
     [5, 5], [5, 4], [5, 4], [4, 4], [4, 4]]],
   685),
  ('second regression',
   [[[5, 4], [4, 3], [4, 4], [3, 3], [5, 4], [3, 3], [3, 3], [4, 3], [3, 2], [4, 2], [5, 3], [3, 2], [5, 5],
     [4, 3], [4, 4], [3, 3], [3, 1], [3, 2]]],
   675),
  ('normal control 1', [[[4, 2], [4, 6], [5, 4], [4, 6], [4, 5], [4, 4], [3, 3], [4, 3], [4, 3]]], 155),
  ('normal control 2',
   [[[3, 3], [5, 5], [4, 3], [5, 1], [3, 2], [4, 4], [4, 4], [4, 3], [4, 4], [4, 3], [4, 4], [4, 2], [4, 1],
     [4, 4], [5, 4], [5, 5], [5, 5], [4, 4]]],
   750),
  ('normal control 3',
   [[[5, 4], [4, 3], [4, 3], [4, 4], [4, 3], [4, 3], [5, 5], [3, 3], [4, 4], [3, 2], [4, 3], [5, 7], [3, 2],
     [4, 3], [3, 2], [5, 5], [4, 4], [3, 5]]],
   420),
  ('normal control 4',
   [[[5, 7], [3, 1], [5, 4], [4, 3], [4, 4], [3, 5], [4, 3], [4, 4], [5, 4], [5, 1], [4, 3], [4, 4], [4, 3],
     [5, 5], [5, 4], [4, 3], [3, 3], [4, 4]]],
   670)]]
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: streak counted per hole525525Passed
partial repair probe: streak counted per hole935905Failed
second regression390390Passed
normal control 15050Passed
normal control 2280280Passed
normal control 3120120Passed
normal control 4290290Passed

SHA-256 / c4046654f78fe367f1d7dc03de32edf014d8bea72e06a8909fa37965604ef258

3 / The verified repair

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

N = 1
observations = []
def solve(holes):
    pts = 0
    run = 0
    streaks = 0
    for par, strokes in holes:
        d = strokes - par
        if d <= -3:
            pts += 130
        elif d == -2:
            pts += 80
        elif d == -1:
            pts += 30
        elif d == 0:
            pts += 5
        elif d == 1:
            pts -= 5
        else:
            pts -= 10
        if strokes == 1:
            pts += 50
        if d < 0:
            run += 1
            if run == 3:
                streaks += 1
        else:
            run = 0
    pts += 30 * streaks
    if len(holes) == 18 and all(s - p <= 0 for p, s in holes):
        pts += 30
    if len(holes) == 18 and sum(s for _, s in holes) < 70:
        pts += 50
    return pts
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: streak counted per hole',
   [[[3, 3], [5, 5], [3, 1], [3, 3], [5, 7], [3, 2], [4, 2], [3, 2], [4, 3], [3, 2], [4, 6], [3, 2], [4, 2],
     [4, 3]]],
   525),
  ('partial repair probe: streak counted per hole',
   [[[3, 2], [5, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 2], [5, 4], [3, 2], [4, 4], [4, 3], [3, 2], [5, 1],
     [4, 3], [3, 1], [3, 1], [5, 5], [5, 5]]],
   905),
  ('second regression',
   [[[4, 2], [3, 5], [4, 4], [5, 3], [4, 3], [4, 3], [4, 3], [5, 7], [4, 4], [5, 5], [3, 3], [4, 4], [4, 4],
     [4, 4], [4, 3], [4, 4], [4, 4], [3, 3]]],
   390),
  ('normal control 1', [[[5, 5], [5, 7], [3, 2], [4, 4], [5, 5], [4, 4], [5, 4], [3, 5], [4, 6]]], 50),
  ('normal control 2',
   [[[4, 4], [3, 3], [4, 3], [4, 6], [4, 3], [3, 3], [3, 4], [4, 3], [4, 4], [4, 2], [5, 5], [3, 3], [3, 2],
     [4, 4], [5, 5], [5, 6], [4, 4], [4, 4]]],
   280),
  ('normal control 3', [[[4, 3], [3, 2], [4, 4], [4, 4], [3, 3], [4, 3], [3, 3], [5, 5], [5, 5]]], 120),
  ('normal control 4',
   [[[4, 6], [5, 6], [3, 2], [4, 3], [5, 4], [5, 5], [3, 5], [4, 6], [4, 3], [4, 2], [4, 4], [4, 3], [4, 4],
     [5, 5], [4, 6], [3, 4], [3, 2], [4, 3]]],
   290)],
 [('regression: streak counted per hole',
   [[[3, 3], [3, 2], [4, 3], [4, 4], [4, 4], [5, 4], [3, 3], [3, 3], [3, 3], [4, 2], [4, 3], [3, 1], [4, 3],
     [4, 4], [4, 4], [4, 4], [3, 3], [5, 3]]],
   600),
  ('partial repair probe: streak counted per hole',
   [[[5, 3], [4, 4], [4, 3], [3, 2], [4, 3], [3, 2], [4, 3], [3, 2], [4, 4], [3, 2], [5, 5], [3, 3], [4, 4],
     [4, 5], [4, 4], [4, 4], [4, 3], [5, 5]]],
   435),
  ('second regression',
   [[[4, 4], [3, 3], [3, 3], [5, 5], [4, 4], [5, 3], [3, 2], [4, 3], [3, 2], [5, 5], [4, 5], [4, 4], [5, 5],
     [4, 4], [5, 7], [5, 1], [4, 4], [3, 1]]],
   595),
  ('normal control 1',
   [[[4, 4], [4, 4], [4, 3], [4, 4], [3, 3], [3, 2], [4, 3], [3, 3], [3, 3], [3, 2], [5, 5], [4, 4], [3, 2],
     [3, 2]]],
   220),
  ('normal control 2',
   [[[3, 2], [4, 3], [5, 4], [5, 5], [5, 5], [5, 5], [4, 6], [5, 3], [3, 4], [4, 4], [4, 4], [3, 1], [3, 3],
     [5, 4], [4, 3], [3, 3], [4, 4], [4, 3]]],
   495),
  ('normal control 3',
   [[[5, 1], [4, 4], [4, 4], [4, 6], [4, 4], [4, 4], [5, 4], [4, 6], [5, 4], [4, 3], [4, 6], [5, 7], [4, 4],
     [3, 3]]],
   260),
  ('normal control 4',
   [[[3, 3], [4, 6], [5, 5], [3, 3], [5, 5], [3, 2], [3, 1], [4, 5], [4, 4], [5, 3], [3, 2], [4, 3], [5, 5],
     [3, 5]]],
   335)],
 [('regression: streak counted per hole',
   [[[3, 5], [4, 3], [5, 4], [3, 2], [4, 4], [3, 3], [4, 3], [5, 7], [5, 4], [5, 5], [5, 4], [3, 2], [4, 3],
     [3, 3], [4, 3], [4, 2], [4, 3], [3, 2]]],
   550),
  ('partial repair probe: streak counted per hole',
   [[[3, 3], [4, 3], [4, 1], [5, 5], [4, 1], [3, 2], [4, 3], [4, 3], [4, 3], [4, 4], [4, 6], [3, 2], [4, 3],
     [5, 4], [4, 3], [5, 4], [4, 3], [4, 4]]],
   810),
  ('second regression',
   [[[3, 3], [3, 2], [3, 2], [5, 4], [4, 4], [4, 4], [5, 5], [3, 3], [3, 2], [4, 4], [5, 5], [4, 4], [3, 2],
     [5, 3], [4, 3], [4, 3], [4, 4], [4, 4]]],
   480),
  ('normal control 1',
   [[[5, 4], [3, 3], [5, 5], [5, 5], [5, 4], [3, 3], [3, 2], [3, 2], [3, 3], [4, 4], [5, 5], [4, 1], [4, 3],
     [4, 4]]],
   370),
  ('normal control 2',
   [[[4, 4], [3, 1], [4, 3], [3, 5], [4, 4], [4, 4], [4, 4], [4, 6], [4, 2], [5, 5], [5, 4], [5, 5], [5, 5],
     [3, 3]]],
   290),
  ('normal control 3', [[[4, 3], [4, 6], [4, 4], [3, 4], [4, 3], [3, 2], [3, 5], [4, 1], [4, 3]]], 280),
  ('normal control 4', [[[4, 5], [3, 3], [4, 4], [4, 4], [5, 5], [4, 5], [3, 4], [4, 3], [4, 4]]], 40)],
 [('regression: streak counted per hole',
   [[[4, 3], [5, 4], [4, 4], [4, 4], [5, 5], [3, 3], [4, 4], [4, 4], [5, 4], [4, 4], [5, 4], [4, 2], [4, 3],
     [4, 3], [3, 2], [4, 3], [3, 3], [4, 3]]],
   500),
  ('partial repair probe: streak counted per hole',
   [[[5, 5], [5, 4], [4, 3], [5, 4], [4, 3], [3, 3], [4, 3], [5, 5], [4, 3], [5, 4], [3, 2], [5, 4], [5, 4],
     [4, 2], [4, 2], [5, 4], [4, 4], [4, 3]]],
   680),
  ('second regression',
   [[[5, 1], [3, 2], [4, 2], [4, 2], [5, 7], [3, 5], [4, 2], [3, 3], [3, 3], [5, 5], [4, 4], [3, 3], [5, 5],
     [3, 2]]],
   520),
  ('normal control 1',
   [[[4, 4], [3, 3], [4, 3], [5, 4], [3, 4], [4, 3], [3, 3], [5, 5], [4, 2], [4, 4], [4, 4], [4, 3], [4, 1],
     [4, 4]]],
   410),
  ('normal control 2',
   [[[4, 6], [4, 5], [3, 3], [5, 5], [4, 3], [5, 3], [4, 3], [5, 5], [4, 1], [4, 5], [4, 3], [3, 2], [4, 4],
     [3, 2]]],
   440),
  ('normal control 3', [[[3, 1], [5, 5], [5, 4], [5, 5], [3, 3], [3, 2], [4, 3], [3, 1], [5, 5]]], 400),
  ('normal control 4',
   [[[4, 2], [4, 3], [3, 3], [5, 4], [5, 5], [4, 4], [3, 2], [4, 5], [4, 2], [4, 4], [4, 4], [3, 2], [3, 2],
     [4, 4], [3, 2], [4, 4], [3, 4], [5, 6]]],
   410)],
 [('regression: streak counted per hole',
   [[[5, 5], [3, 3], [4, 4], [5, 4], [4, 3], [5, 6], [4, 4], [5, 5], [4, 3], [4, 1], [3, 2], [3, 2], [4, 1],
     [5, 6]]],
   555),
  ('partial repair probe: streak counted per hole',
   [[[4, 3], [5, 4], [5, 1], [3, 2], [4, 3], [5, 1], [3, 3], [4, 4], [4, 4], [4, 3], [3, 3], [3, 3], [4, 5],
     [5, 5], [5, 4], [5, 4], [4, 4], [4, 4]]],
   685),
  ('second regression',
   [[[5, 4], [4, 3], [4, 4], [3, 3], [5, 4], [3, 3], [3, 3], [4, 3], [3, 2], [4, 2], [5, 3], [3, 2], [5, 5],
     [4, 3], [4, 4], [3, 3], [3, 1], [3, 2]]],
   675),
  ('normal control 1', [[[4, 2], [4, 6], [5, 4], [4, 6], [4, 5], [4, 4], [3, 3], [4, 3], [4, 3]]], 155),
  ('normal control 2',
   [[[3, 3], [5, 5], [4, 3], [5, 1], [3, 2], [4, 4], [4, 4], [4, 3], [4, 4], [4, 3], [4, 4], [4, 2], [4, 1],
     [4, 4], [5, 4], [5, 5], [5, 5], [4, 4]]],
   750),
  ('normal control 3',
   [[[5, 4], [4, 3], [4, 3], [4, 4], [4, 3], [4, 3], [5, 5], [3, 3], [4, 4], [3, 2], [4, 3], [5, 7], [3, 2],
     [4, 3], [3, 2], [5, 5], [4, 4], [3, 5]]],
   420),
  ('normal control 4',
   [[[5, 7], [3, 1], [5, 4], [4, 3], [4, 4], [3, 5], [4, 3], [4, 4], [5, 4], [5, 1], [4, 3], [4, 4], [4, 3],
     [5, 5], [5, 4], [4, 3], [3, 3], [4, 4]]],
   670)]]
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: streak counted per hole525525Passed
partial repair probe: streak counted per hole905905Passed
second regression390390Passed
normal control 15050Passed
normal control 2280280Passed
normal control 3120120Passed
normal control 4290290Passed

SHA-256 / 176326b18055171102668283107ec57262de9e90c68af0e03723f47d88714066

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

Case digest / 448fd66b5712ad6b28b615cc85051242f08137d11401d4e40967a2ad23d7949e