FA-12806 / Tournament pairing rules / Open access
Cut tiebreak removes every tied minimum · case 01
Cut tiebreak removes every tied minimum.
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| tied minimum | 3 | 4 | Failed |
| all equal | 0 | 2 | Failed |
| singleton | 0 | 0 | Passed |
| empty | 0 | 0 | Passed |
| negative | 2 | 1 | Failed |
| distinct | 5 | 5 | Passed |
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| tied minimum | 3 | 4 | Failed |
| all equal | 0 | 2 | Failed |
| singleton | 0 | 0 | Passed |
| empty | 0 | 0 | Passed |
| negative | 2 | 1 | Failed |
| distinct | 5 | 5 | Passed |
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| tied minimum | 4 | 4 | Passed |
| all equal | 2 | 2 | Passed |
| singleton | 0 | 0 | Passed |
| empty | 0 | 0 | Passed |
| negative | 1 | 1 | Passed |
| distinct | 5 | 5 | Passed |
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