FAILURE MAP
← Case archive

FA-84146 / Sports scoring and tiebreakers / Open access

Tied regulation game finalized · case 01

A game tied after nine full innings is reported as final.

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

ROOT CAUSE

The completion test does not require the score to differ.

VERIFIED REPAIR

Continue into extra innings while tied.

Unsuccessful approach: Declaring the tie a draw with no winner still ends a game that must continue.

Case contract

Game status from a line score. away and home list runs per inning; home has either the same number of entries as away or one fewer (bottom half not yet played), otherwise return "invalid". When home is one short: if at least scheduled innings have started and home leads, the game is final (home wins without batting); otherwise in progress. When equal length: if at least scheduled innings are complete and the score is not tied, the game is final; ties continue into extra innings. Return ["final", "home"/"away", innings] or ["in progress", None, None].

Why this case matters

Scoreboards and settlement engines decide when a baseball game is official and who won.

1 / The failure

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

N = 1
observations = []
def solve(away, home, scheduled):
    A = sum(away)
    H = sum(home)
    na, nh = len(away), len(home)
    if nh not in (na, na - 1):
        return 'invalid'
    if nh == na - 1:
        if na >= scheduled and H > A:
            return ['final', 'home', na]
        return ['in progress', None, None]
    if na >= scheduled:
        return ['final', 'home' if H > A else 'away', na]
    return ['in progress', None, None]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
def run(args):
    try:
        return solve(*args)
    except Exception as exc:
        return 'raised ' + type(exc).__name__
cases = [[('control home leads skip bottom ninth',
   ([0, 0, 0, 0, 0, 0, 0, 0, 1], [2, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'home', 9]),
  ('boundary tied after nine',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control away wins in ten',
   ([0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 10]),
  ('boundary mid-game', ([1, 0, 0], [0, 0], 9), ['in progress', None, None]),
  ('boundary home trails before bottom ninth',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control malformed line', ([1, 0], [0, 0, 0], 9), 'invalid'),
  ('regression: tie continuation',
   ([3, 0, 2, 0, 3, 2, 1, 0, 0, 1, 0, 0], [1, 1, 1, 1, 1, 0, 1, 2, 0, 0, 1, 3], 9),
   ['in progress', None, None]),
  ('variant scenario 1', ([0, 0, 0, 1, 3, 1], [0, 3, 0, 3, 1], 7), ['in progress', None, None]),
  ('variant scenario 2',
   ([0, 0, 0, 3, 0, 1, 2, 0], [1, 1, 0, 2, 3, 2, 2, 3], 7),
   ['final', 'home', 8])],
 [('control home leads skip bottom ninth',
   ([0, 0, 0, 0, 0, 0, 0, 0, 1], [2, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'home', 9]),
  ('boundary tied after nine',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control away wins in ten',
   ([0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 10]),
  ('boundary mid-game', ([1, 0, 0], [0, 0], 9), ['in progress', None, None]),
  ('boundary home trails before bottom ninth',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control malformed line', ([1, 0], [0, 0, 0], 9), 'invalid'),
  ('regression: tie continuation',
   ([1, 3, 1, 1, 0, 1, 3, 0, 2], [0, 1, 1, 0, 2, 3, 3, 0, 2], 9),
   ['in progress', None, None]),
  ('variant scenario 1',
   ([0, 0, 1, 3, 0, 1, 1, 0, 2, 0, 0, 3], [0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 12]),
  ('variant scenario 2', ([0, 0, 0, 2, 2, 0, 0], [2, 0, 2, 2, 0], 7), 'invalid')],
 [('control home leads skip bottom ninth',
   ([0, 0, 0, 0, 0, 0, 0, 0, 1], [2, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'home', 9]),
  ('boundary tied after nine',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control away wins in ten',
   ([0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 10]),
  ('boundary mid-game', ([1, 0, 0], [0, 0], 9), ['in progress', None, None]),
  ('boundary home trails before bottom ninth',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control malformed line', ([1, 0], [0, 0, 0], 9), 'invalid'),
  ('regression: tie continuation',
   ([0, 0, 3, 2, 0, 1, 0, 2], [1, 1, 0, 0, 3, 1, 0, 2], 7),
   ['in progress', None, None]),
  ('variant scenario 1',
   ([1, 0, 1, 1, 1, 0, 0, 1, 2], [1, 0, 0, 1, 0, 3, 0, 0], 7),
   ['in progress', None, None]),
  ('variant scenario 2', ([1, 0, 1, 3], [0, 0, 2, 2, 1], 7), 'invalid')],
 [('control home leads skip bottom ninth',
   ([0, 0, 0, 0, 0, 0, 0, 0, 1], [2, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'home', 9]),
  ('boundary tied after nine',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control away wins in ten',
   ([0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 10]),
  ('boundary mid-game', ([1, 0, 0], [0, 0], 9), ['in progress', None, None]),
  ('boundary home trails before bottom ninth',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control malformed line', ([1, 0], [0, 0, 0], 9), 'invalid'),
  ('regression: tie continuation',
   ([1, 0, 1, 1, 1, 2, 1, 2, 3, 0, 3], [1, 1, 0, 1, 1, 3, 1, 3, 1, 1, 2], 9),
   ['in progress', None, None]),
  ('variant scenario 1', ([0, 1, 2, 0, 1, 0], [2, 0, 3, 0, 0], 9), ['in progress', None, None]),
  ('variant scenario 2',
   ([0, 0, 0, 1, 1, 1, 0, 3, 1], [2, 0, 0, 3, 1, 3, 1, 1, 2], 7),
   ['final', 'home', 9])],
 [('control home leads skip bottom ninth',
   ([0, 0, 0, 0, 0, 0, 0, 0, 1], [2, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'home', 9]),
  ('boundary tied after nine',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control away wins in ten',
   ([0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 10]),
  ('boundary mid-game', ([1, 0, 0], [0, 0], 9), ['in progress', None, None]),
  ('boundary home trails before bottom ninth',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control malformed line', ([1, 0], [0, 0, 0], 9), 'invalid'),
  ('regression: tie continuation',
   ([0, 0, 0, 0, 0, 3, 3, 1, 0, 0], [2, 1, 1, 0, 0, 1, 2, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('variant scenario 1', ([0, 0, 1, 0, 1, 1], [3, 2, 3, 0, 0], 9), ['in progress', None, None]),
  ('variant scenario 2', ([0, 3, 0, 0, 1, 0], [1, 1, 1, 0, 1, 2], 7), ['in progress', None, None])]]
for label, args, expected in cases[N - 1]:
    check(label, run(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
control home leads skip bottom ninth['final', 'home', 9]['final', 'home', 9]Passed
boundary tied after nine['final', 'away', 9]['in progress', None, None]Failed
control away wins in ten['final', 'away', 10]['final', 'away', 10]Passed
boundary mid-game['in progress', None, None]['in progress', None, None]Passed
boundary home trails before bottom ninth['in progress', None, None]['in progress', None, None]Passed
control malformed lineinvalidinvalidPassed
regression: tie continuation['final', 'away', 12]['in progress', None, None]Failed
variant scenario 1['in progress', None, None]['in progress', None, None]Passed
variant scenario 2['final', 'home', 8]['final', 'home', 8]Passed

SHA-256 / 60535e5b0d441ee49a260c4960b3aa3b764f30b9d3bfc762d4db1f12c3c9cd06

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(away, home, scheduled):
    A = sum(away)
    H = sum(home)
    na, nh = len(away), len(home)
    if nh not in (na, na - 1):
        return 'invalid'
    if nh == na - 1:
        if na >= scheduled and H > A:
            return ['final', 'home', na]
        return ['in progress', None, None]
    if na >= scheduled:
        return ['final', 'home' if H > A else ('away' if A > H else None), na]
    return ['in progress', None, None]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
def run(args):
    try:
        return solve(*args)
    except Exception as exc:
        return 'raised ' + type(exc).__name__
cases = [[('control home leads skip bottom ninth',
   ([0, 0, 0, 0, 0, 0, 0, 0, 1], [2, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'home', 9]),
  ('boundary tied after nine',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control away wins in ten',
   ([0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 10]),
  ('boundary mid-game', ([1, 0, 0], [0, 0], 9), ['in progress', None, None]),
  ('boundary home trails before bottom ninth',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control malformed line', ([1, 0], [0, 0, 0], 9), 'invalid'),
  ('regression: tie continuation',
   ([3, 0, 2, 0, 3, 2, 1, 0, 0, 1, 0, 0], [1, 1, 1, 1, 1, 0, 1, 2, 0, 0, 1, 3], 9),
   ['in progress', None, None]),
  ('variant scenario 1', ([0, 0, 0, 1, 3, 1], [0, 3, 0, 3, 1], 7), ['in progress', None, None]),
  ('variant scenario 2',
   ([0, 0, 0, 3, 0, 1, 2, 0], [1, 1, 0, 2, 3, 2, 2, 3], 7),
   ['final', 'home', 8])],
 [('control home leads skip bottom ninth',
   ([0, 0, 0, 0, 0, 0, 0, 0, 1], [2, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'home', 9]),
  ('boundary tied after nine',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control away wins in ten',
   ([0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 10]),
  ('boundary mid-game', ([1, 0, 0], [0, 0], 9), ['in progress', None, None]),
  ('boundary home trails before bottom ninth',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control malformed line', ([1, 0], [0, 0, 0], 9), 'invalid'),
  ('regression: tie continuation',
   ([1, 3, 1, 1, 0, 1, 3, 0, 2], [0, 1, 1, 0, 2, 3, 3, 0, 2], 9),
   ['in progress', None, None]),
  ('variant scenario 1',
   ([0, 0, 1, 3, 0, 1, 1, 0, 2, 0, 0, 3], [0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 12]),
  ('variant scenario 2', ([0, 0, 0, 2, 2, 0, 0], [2, 0, 2, 2, 0], 7), 'invalid')],
 [('control home leads skip bottom ninth',
   ([0, 0, 0, 0, 0, 0, 0, 0, 1], [2, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'home', 9]),
  ('boundary tied after nine',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control away wins in ten',
   ([0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 10]),
  ('boundary mid-game', ([1, 0, 0], [0, 0], 9), ['in progress', None, None]),
  ('boundary home trails before bottom ninth',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control malformed line', ([1, 0], [0, 0, 0], 9), 'invalid'),
  ('regression: tie continuation',
   ([0, 0, 3, 2, 0, 1, 0, 2], [1, 1, 0, 0, 3, 1, 0, 2], 7),
   ['in progress', None, None]),
  ('variant scenario 1',
   ([1, 0, 1, 1, 1, 0, 0, 1, 2], [1, 0, 0, 1, 0, 3, 0, 0], 7),
   ['in progress', None, None]),
  ('variant scenario 2', ([1, 0, 1, 3], [0, 0, 2, 2, 1], 7), 'invalid')],
 [('control home leads skip bottom ninth',
   ([0, 0, 0, 0, 0, 0, 0, 0, 1], [2, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'home', 9]),
  ('boundary tied after nine',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control away wins in ten',
   ([0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 10]),
  ('boundary mid-game', ([1, 0, 0], [0, 0], 9), ['in progress', None, None]),
  ('boundary home trails before bottom ninth',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control malformed line', ([1, 0], [0, 0, 0], 9), 'invalid'),
  ('regression: tie continuation',
   ([1, 0, 1, 1, 1, 2, 1, 2, 3, 0, 3], [1, 1, 0, 1, 1, 3, 1, 3, 1, 1, 2], 9),
   ['in progress', None, None]),
  ('variant scenario 1', ([0, 1, 2, 0, 1, 0], [2, 0, 3, 0, 0], 9), ['in progress', None, None]),
  ('variant scenario 2',
   ([0, 0, 0, 1, 1, 1, 0, 3, 1], [2, 0, 0, 3, 1, 3, 1, 1, 2], 7),
   ['final', 'home', 9])],
 [('control home leads skip bottom ninth',
   ([0, 0, 0, 0, 0, 0, 0, 0, 1], [2, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'home', 9]),
  ('boundary tied after nine',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control away wins in ten',
   ([0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 10]),
  ('boundary mid-game', ([1, 0, 0], [0, 0], 9), ['in progress', None, None]),
  ('boundary home trails before bottom ninth',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control malformed line', ([1, 0], [0, 0, 0], 9), 'invalid'),
  ('regression: tie continuation',
   ([0, 0, 0, 0, 0, 3, 3, 1, 0, 0], [2, 1, 1, 0, 0, 1, 2, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('variant scenario 1', ([0, 0, 1, 0, 1, 1], [3, 2, 3, 0, 0], 9), ['in progress', None, None]),
  ('variant scenario 2', ([0, 3, 0, 0, 1, 0], [1, 1, 1, 0, 1, 2], 7), ['in progress', None, None])]]
for label, args, expected in cases[N - 1]:
    check(label, run(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
control home leads skip bottom ninth['final', 'home', 9]['final', 'home', 9]Passed
boundary tied after nine['final', None, 9]['in progress', None, None]Failed
control away wins in ten['final', 'away', 10]['final', 'away', 10]Passed
boundary mid-game['in progress', None, None]['in progress', None, None]Passed
boundary home trails before bottom ninth['in progress', None, None]['in progress', None, None]Passed
control malformed lineinvalidinvalidPassed
regression: tie continuation['final', None, 12]['in progress', None, None]Failed
variant scenario 1['in progress', None, None]['in progress', None, None]Passed
variant scenario 2['final', 'home', 8]['final', 'home', 8]Passed

SHA-256 / 9d2307b3eef9a21070b10ad712b3e7e0ec7e77d85cc4bb9bc27df454ccac7e16

3 / The verified repair

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

N = 1
observations = []
def solve(away, home, scheduled):
    A = sum(away)
    H = sum(home)
    na, nh = len(away), len(home)
    if nh not in (na, na - 1):
        return 'invalid'
    if nh == na - 1:
        if na >= scheduled and H > A:
            return ['final', 'home', na]
        return ['in progress', None, None]
    if na >= scheduled and A != H:
        return ['final', 'home' if H > A else 'away', na]
    return ['in progress', None, None]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
def run(args):
    try:
        return solve(*args)
    except Exception as exc:
        return 'raised ' + type(exc).__name__
cases = [[('control home leads skip bottom ninth',
   ([0, 0, 0, 0, 0, 0, 0, 0, 1], [2, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'home', 9]),
  ('boundary tied after nine',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control away wins in ten',
   ([0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 10]),
  ('boundary mid-game', ([1, 0, 0], [0, 0], 9), ['in progress', None, None]),
  ('boundary home trails before bottom ninth',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control malformed line', ([1, 0], [0, 0, 0], 9), 'invalid'),
  ('regression: tie continuation',
   ([3, 0, 2, 0, 3, 2, 1, 0, 0, 1, 0, 0], [1, 1, 1, 1, 1, 0, 1, 2, 0, 0, 1, 3], 9),
   ['in progress', None, None]),
  ('variant scenario 1', ([0, 0, 0, 1, 3, 1], [0, 3, 0, 3, 1], 7), ['in progress', None, None]),
  ('variant scenario 2',
   ([0, 0, 0, 3, 0, 1, 2, 0], [1, 1, 0, 2, 3, 2, 2, 3], 7),
   ['final', 'home', 8])],
 [('control home leads skip bottom ninth',
   ([0, 0, 0, 0, 0, 0, 0, 0, 1], [2, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'home', 9]),
  ('boundary tied after nine',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control away wins in ten',
   ([0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 10]),
  ('boundary mid-game', ([1, 0, 0], [0, 0], 9), ['in progress', None, None]),
  ('boundary home trails before bottom ninth',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control malformed line', ([1, 0], [0, 0, 0], 9), 'invalid'),
  ('regression: tie continuation',
   ([1, 3, 1, 1, 0, 1, 3, 0, 2], [0, 1, 1, 0, 2, 3, 3, 0, 2], 9),
   ['in progress', None, None]),
  ('variant scenario 1',
   ([0, 0, 1, 3, 0, 1, 1, 0, 2, 0, 0, 3], [0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 12]),
  ('variant scenario 2', ([0, 0, 0, 2, 2, 0, 0], [2, 0, 2, 2, 0], 7), 'invalid')],
 [('control home leads skip bottom ninth',
   ([0, 0, 0, 0, 0, 0, 0, 0, 1], [2, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'home', 9]),
  ('boundary tied after nine',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control away wins in ten',
   ([0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 10]),
  ('boundary mid-game', ([1, 0, 0], [0, 0], 9), ['in progress', None, None]),
  ('boundary home trails before bottom ninth',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control malformed line', ([1, 0], [0, 0, 0], 9), 'invalid'),
  ('regression: tie continuation',
   ([0, 0, 3, 2, 0, 1, 0, 2], [1, 1, 0, 0, 3, 1, 0, 2], 7),
   ['in progress', None, None]),
  ('variant scenario 1',
   ([1, 0, 1, 1, 1, 0, 0, 1, 2], [1, 0, 0, 1, 0, 3, 0, 0], 7),
   ['in progress', None, None]),
  ('variant scenario 2', ([1, 0, 1, 3], [0, 0, 2, 2, 1], 7), 'invalid')],
 [('control home leads skip bottom ninth',
   ([0, 0, 0, 0, 0, 0, 0, 0, 1], [2, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'home', 9]),
  ('boundary tied after nine',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control away wins in ten',
   ([0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 10]),
  ('boundary mid-game', ([1, 0, 0], [0, 0], 9), ['in progress', None, None]),
  ('boundary home trails before bottom ninth',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control malformed line', ([1, 0], [0, 0, 0], 9), 'invalid'),
  ('regression: tie continuation',
   ([1, 0, 1, 1, 1, 2, 1, 2, 3, 0, 3], [1, 1, 0, 1, 1, 3, 1, 3, 1, 1, 2], 9),
   ['in progress', None, None]),
  ('variant scenario 1', ([0, 1, 2, 0, 1, 0], [2, 0, 3, 0, 0], 9), ['in progress', None, None]),
  ('variant scenario 2',
   ([0, 0, 0, 1, 1, 1, 0, 3, 1], [2, 0, 0, 3, 1, 3, 1, 1, 2], 7),
   ['final', 'home', 9])],
 [('control home leads skip bottom ninth',
   ([0, 0, 0, 0, 0, 0, 0, 0, 1], [2, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'home', 9]),
  ('boundary tied after nine',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control away wins in ten',
   ([0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['final', 'away', 10]),
  ('boundary mid-game', ([1, 0, 0], [0, 0], 9), ['in progress', None, None]),
  ('boundary home trails before bottom ninth',
   ([1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('control malformed line', ([1, 0], [0, 0, 0], 9), 'invalid'),
  ('regression: tie continuation',
   ([0, 0, 0, 0, 0, 3, 3, 1, 0, 0], [2, 1, 1, 0, 0, 1, 2, 0, 0, 0], 9),
   ['in progress', None, None]),
  ('variant scenario 1', ([0, 0, 1, 0, 1, 1], [3, 2, 3, 0, 0], 9), ['in progress', None, None]),
  ('variant scenario 2', ([0, 3, 0, 0, 1, 0], [1, 1, 1, 0, 1, 2], 7), ['in progress', None, None])]]
for label, args, expected in cases[N - 1]:
    check(label, run(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
control home leads skip bottom ninth['final', 'home', 9]['final', 'home', 9]Passed
boundary tied after nine['in progress', None, None]['in progress', None, None]Passed
control away wins in ten['final', 'away', 10]['final', 'away', 10]Passed
boundary mid-game['in progress', None, None]['in progress', None, None]Passed
boundary home trails before bottom ninth['in progress', None, None]['in progress', None, None]Passed
control malformed lineinvalidinvalidPassed
regression: tie continuation['in progress', None, None]['in progress', None, None]Passed
variant scenario 1['in progress', None, None]['in progress', None, None]Passed
variant scenario 2['final', 'home', 8]['final', 'home', 8]Passed

SHA-256 / c7f42d076a70fc8d3d4583ccc4460d7de6abb714b34877c2a7ca3cdf64edad78

Verification & scope

Stipulated, bounded toy contract stated in the contract field; not a claim of conformance with any governing body rulebook or operator house rules. 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:28.127369+00:00.

Case digest / 496be5aff535dfa0200c9e03d294fb2c8f763ccd263561af35435bdcd0d27525