{"abstract":"Bye selection ignores prior byes.","category":"Tournament pairing rules","checks":6,"contract":"Synthetic model: Rows are (id,score,has_prior_bye). Return the eligible id with lowest score then id, or None.","contract_signature":"rows","evaluation_group":"model-57044ccf9ab9cb46","failed_approach":"Filtering eligibility but ranking only by identifier ignores score priority.","family":"z-tournament_pairing-bye-priority","id":"FA-12791","implementations":{"attempt":{"sha256":"27f258ea44708bfe0f2efb48c89730413cf376541f5d034119d20d3535d8e19b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rows):\n    eligible=[r for r in rows if not r[2]]\n    return min(eligible, key=lambda r:r[0])[0] if eligible else None\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('repeat bye excluded', solve([(1,0,True),(2,N,False)]), 2)\ncheck('score precedes id', solve([(1,N+1,False),(2,N,False)]), 2)\ncheck('id breaks tie', solve([(3,N,False),(2,N,False)]), 2)\ncheck('empty', solve([]), None)\ncheck('all ineligible', solve([(1,N,True)]), None)\ncheck('single', solve([(8,N,False)]), 8)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"c88b5734f62e3b866c1c9428c8612444f60ee94383ccec6adb540454a940036b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rows):\n    return min(rows, key=lambda r:(r[1],r[0]))[0] if rows else None\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('repeat bye excluded', solve([(1,0,True),(2,N,False)]), 2)\ncheck('score precedes id', solve([(1,N+1,False),(2,N,False)]), 2)\ncheck('id breaks tie', solve([(3,N,False),(2,N,False)]), 2)\ncheck('empty', solve([]), None)\ncheck('all ineligible', solve([(1,N,True)]), None)\ncheck('single', solve([(8,N,False)]), 8)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"z-tournament_pairing-bye-priority","generated_at":"2026-09-29T14:39:00.125447+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Makes the stated pairing or standings policy executable without assuming any real federation rulebook.","root_cause":"Selection ranks all entrants without applying the prior-bye exclusion.","sha256":"440aeacf7bf97f20550f8b470686f138ab2fca860893f5585ed6a4dc394280ab","title":"Bye selection ignores prior byes · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":43.349,"exit_code":1,"observations":[{"actual":2,"check":"repeat bye excluded","expected":2,"passed":true},{"actual":1,"check":"score precedes id","expected":2,"passed":false},{"actual":2,"check":"id breaks tie","expected":2,"passed":true},{"actual":null,"check":"empty","expected":null,"passed":true},{"actual":null,"check":"all ineligible","expected":null,"passed":true},{"actual":8,"check":"single","expected":8,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"repeat bye excluded\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"score precedes id\", \"actual\": 1, \"expected\": 2, \"passed\": false}, {\"check\": \"id breaks tie\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"empty\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"all ineligible\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"single\", \"actual\": 8, \"expected\": 8, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.45,"exit_code":1,"observations":[{"actual":1,"check":"repeat bye excluded","expected":2,"passed":false},{"actual":2,"check":"score precedes id","expected":2,"passed":true},{"actual":2,"check":"id breaks tie","expected":2,"passed":true},{"actual":null,"check":"empty","expected":null,"passed":true},{"actual":1,"check":"all ineligible","expected":null,"passed":false},{"actual":8,"check":"single","expected":8,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"repeat bye excluded\", \"actual\": 1, \"expected\": 2, \"passed\": false}, {\"check\": \"score precedes id\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"id breaks tie\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"empty\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"all ineligible\", \"actual\": 1, \"expected\": null, \"passed\": false}, {\"check\": \"single\", \"actual\": 8, \"expected\": 8, \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}