FAILURE MAP
← Case archive

FA-12806 / Tournament pairing rules / Open access

Cut tiebreak removes every tied minimum · case 01

Cut tiebreak removes every tied minimum.

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

ROOT CAUSE

Value-based filtering removes all minimum occurrences.

VERIFIED REPAIR

Discard exactly one lowest opponent-score occurrence and sum the rest; empty and singleton lists return zero.

Unsuccessful approach: Deduplicating before cutting also drops repeated nonminimum scores.

Case contract

Synthetic model: Discard exactly one lowest opponent-score occurrence and sum the rest; empty and singleton lists return zero.

Why this case matters

Makes the stated pairing or standings policy executable without assuming any real federation rulebook.

1 / The failure

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

N = 1
observations = []
def solve(scores):
    return sum(x for x in scores if x!=min(scores)) if scores else 0
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('tied minimum', solve([N,N,N+2]), 2*N+2)
check('all equal', solve([N,N,N]), 2*N)
check('singleton', solve([N]), 0)
check('empty', solve([]), 0)
check('negative', solve([-N,-N,2]), 2-N)
check('distinct', solve([N,N+1,N+2]), 2*N+3)
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
tied minimum34Failed
all equal02Failed
singleton00Passed
empty00Passed
negative21Failed
distinct55Passed

SHA-256 / 7ddffcd95ced636e87b1bb695ded78066bd836e8ee22039698a9075c25cf2e43

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(scores):
    return sum(sorted(set(scores))[1:])
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('tied minimum', solve([N,N,N+2]), 2*N+2)
check('all equal', solve([N,N,N]), 2*N)
check('singleton', solve([N]), 0)
check('empty', solve([]), 0)
check('negative', solve([-N,-N,2]), 2-N)
check('distinct', solve([N,N+1,N+2]), 2*N+3)
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
tied minimum34Failed
all equal02Failed
singleton00Passed
empty00Passed
negative21Failed
distinct55Passed

SHA-256 / 5a509ffaece718d3aea93ab781d7aeb51ec83d1800035a9df30c2d9e8b6cdce2

3 / The verified repair

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

N = 1
observations = []
def solve(scores):
    return sum(scores)-min(scores) if scores else 0
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('tied minimum', solve([N,N,N+2]), 2*N+2)
check('all equal', solve([N,N,N]), 2*N)
check('singleton', solve([N]), 0)
check('empty', solve([]), 0)
check('negative', solve([-N,-N,2]), 2-N)
check('distinct', solve([N,N+1,N+2]), 2*N+3)
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
tied minimum44Passed
all equal22Passed
singleton00Passed
empty00Passed
negative11Passed
distinct55Passed

SHA-256 / 0bb34aa21afe2f89aab49977319a006aa303fc84c5a6adef17efab3cc76ca767

Verification & scope

Controlled synthetic policy; does not implement an entire tournament system. 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:39:00.290894+00:00.

Case digest / 613bd4a7dd81295ef57ac01c43aeaccd34f1b69249c5f2c6035b4f39ca56bd09