FAILURE MAP
← Case archive

FA-12826 / Tournament pairing rules / Open access

Withdrawn opponents disappear from historical tiebreaks · case 01

Withdrawn opponents disappear from historical tiebreaks.

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

ROOT CAUSE

Current active status filters already completed encounters.

VERIFIED REPAIR

Each encounter contributes its opponent final signed score, regardless of the current active flag in (score,active) records.

Unsuccessful approach: Reintroducing withdrawn players with a zero floor loses signed penalty adjustments.

Case contract

Synthetic model: Each encounter contributes its opponent final signed score, regardless of the current active flag in (score,active) records.

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(encounters, records):
    return sum(records[p][0] for p in encounters if records[p][1])
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('withdrawn', solve(['a'], {'a':(N,False)}), N)
check('penalty', solve(['a'], {'a':(-N,False)}), -N)
check('active', solve(['a'], {'a':(N,True)}), N)
check('mixed', solve(['a','b'], {'a':(N,False),'b':(2,True)}), N+2)
check('empty', solve([], {}), 0)
check('zero withdrawn', solve(['a'], {'a':(0,False)}), 0)
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
withdrawn01Failed
penalty0-1Failed
active11Passed
mixed23Failed
empty00Passed
zero withdrawn00Passed

SHA-256 / 658516157ba9a5f13fb04740f02f7f1ddeb11c7aff29f17cbcdd2261210bcbe7

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(encounters, records):
    return sum(max(0,records[p][0]) for p in encounters)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('withdrawn', solve(['a'], {'a':(N,False)}), N)
check('penalty', solve(['a'], {'a':(-N,False)}), -N)
check('active', solve(['a'], {'a':(N,True)}), N)
check('mixed', solve(['a','b'], {'a':(N,False),'b':(2,True)}), N+2)
check('empty', solve([], {}), 0)
check('zero withdrawn', solve(['a'], {'a':(0,False)}), 0)
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
withdrawn11Passed
penalty0-1Failed
active11Passed
mixed33Passed
empty00Passed
zero withdrawn00Passed

SHA-256 / a1e6320aac0fef3d96802df108327489634ceb547ed0649134635902ea9ebee3

3 / The verified repair

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

N = 1
observations = []
def solve(encounters, records):
    return sum(records[p][0] for p in encounters)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('withdrawn', solve(['a'], {'a':(N,False)}), N)
check('penalty', solve(['a'], {'a':(-N,False)}), -N)
check('active', solve(['a'], {'a':(N,True)}), N)
check('mixed', solve(['a','b'], {'a':(N,False),'b':(2,True)}), N+2)
check('empty', solve([], {}), 0)
check('zero withdrawn', solve(['a'], {'a':(0,False)}), 0)
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
withdrawn11Passed
penalty-1-1Passed
active11Passed
mixed33Passed
empty00Passed
zero withdrawn00Passed

SHA-256 / 7eef2f1982b1718d6d993d2a69e60c2c766c6f5908348a24fbc4eab2764c84c7

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

Case digest / 4b854d9bbef1fe272d435c82f3c53df64d476b0d04c39aed9f6ebc4c90cdbc63