{"abstract":"Old releases displace newer successful releases.","category":"Deployment models","checks":7,"contract":"Retain active and explicitly pinned releases regardless of age, retain newest successful unpinned releases up to limit, exclude unsuccessful unpinned releases, and return sorted unique revision IDs.","evaluation_group":"xt-release-retention","failed_approach":"The attempted repair substitutes reverse=not bool(releases). Fixture 3 still yields [1, 3] instead of [2, 3].","family":"xt-release-retention-newest-retention","id":"FA-10196","implementations":{"attempt":{"sha256":"69db2c8d183515775bd76dcb850a8a8de9d4d11246684d8a463ac3176585fdd0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(releases, active, pinned, limit):\n    keep = {active} | set(pinned)\n    eligible = sorted([number for number, success in releases if success and number not in keep], reverse=not bool(releases))\n    keep.update(eligible[:limit])\n    return sorted(keep)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1', solve([], 1, [], 0), [1])\ncheck('fixture 2', solve([], 4, [1, 2], 0), [1, 2, 4])\ncheck('fixture 3', solve([(1, True), (2, True), (3, True)], 3, [], 1), [2, 3])\ncheck('fixture 4', solve([(1, True), (2, False), (3, True)], 3, [], 1), [1, 3])\ncheck('fixture 5', solve([(1, True), (2, True), (3, True)], 3, [1], 0), [1, 3])\ncheck('fixture 6', solve([(1, True), (2, True), (3, True), (4, True)], 4, [2], 1), [2, 3, 4])\ncheck('fixture 7', solve([(1, True), (2, True)], 2, [], 0), [2])\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":"6fcfcee0698f51749a8b71ebaa0c3284c5efc00005dcb7d2e2fcd2f96e817e8f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(releases, active, pinned, limit):\n    keep = {active} | set(pinned)\n    eligible = sorted([number for number, success in releases if success and number not in keep], reverse=False)\n    keep.update(eligible[:limit])\n    return sorted(keep)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1', solve([], 1, [], 0), [1])\ncheck('fixture 2', solve([], 4, [1, 2], 0), [1, 2, 4])\ncheck('fixture 3', solve([(1, True), (2, True), (3, True)], 3, [], 1), [2, 3])\ncheck('fixture 4', solve([(1, True), (2, False), (3, True)], 3, [], 1), [1, 3])\ncheck('fixture 5', solve([(1, True), (2, True), (3, True)], 3, [1], 0), [1, 3])\ncheck('fixture 6', solve([(1, True), (2, True), (3, True), (4, True)], 4, [2], 1), [2, 3, 4])\ncheck('fixture 7', solve([(1, True), (2, True)], 2, [], 0), [2])\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"},"fixed":{"sha256":"09ec1ec3899e60247bda85442d4576dab83f29eb220be8fdd5d7c35e1c55b908","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(releases, active, pinned, limit):\n    keep = {active} | set(pinned)\n    eligible = sorted([number for number, success in releases if success and number not in keep], reverse=True)\n    keep.update(eligible[:limit])\n    return sorted(keep)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1', solve([], 1, [], 0), [1])\ncheck('fixture 2', solve([], 4, [1, 2], 0), [1, 2, 4])\ncheck('fixture 3', solve([(1, True), (2, True), (3, True)], 3, [], 1), [2, 3])\ncheck('fixture 4', solve([(1, True), (2, False), (3, True)], 3, [], 1), [1, 3])\ncheck('fixture 5', solve([(1, True), (2, True), (3, True)], 3, [1], 0), [1, 3])\ncheck('fixture 6', solve([(1, True), (2, True), (3, True), (4, True)], 4, [2], 1), [2, 3, 4])\ncheck('fixture 7', solve([(1, True), (2, True)], 2, [], 0), [2])\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":" 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":"xt-release-retention-newest-retention","generated_at":"2026-09-29T14:38:36.681466+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"An offline model of release retention selection, suitable for testing build and release tooling without external services.","repair":"Sort eligible releases newest first.","root_cause":"The implementation substitutes reverse=False for reverse=True, so old releases displace newer successful releases.","sha256":"82198146fd33bf94c2344442ad649965f02d1374aa24ccf61783486be11c45d7","title":"Release retention selection: Old releases displace newer successful releases · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.9,"exit_code":1,"observations":[{"actual":[1],"check":"fixture 1","expected":[1],"passed":true},{"actual":[1,2,4],"check":"fixture 2","expected":[1,2,4],"passed":true},{"actual":[1,3],"check":"fixture 3","expected":[2,3],"passed":false},{"actual":[1,3],"check":"fixture 4","expected":[1,3],"passed":true},{"actual":[1,3],"check":"fixture 5","expected":[1,3],"passed":true},{"actual":[1,2,4],"check":"fixture 6","expected":[2,3,4],"passed":false},{"actual":[2],"check":"fixture 7","expected":[2],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": [1], \"expected\": [1], \"passed\": true}, {\"check\": \"fixture 2\", \"actual\": [1, 2, 4], \"expected\": [1, 2, 4], \"passed\": true}, {\"check\": \"fixture 3\", \"actual\": [1, 3], \"expected\": [2, 3], \"passed\": false}, {\"check\": \"fixture 4\", \"actual\": [1, 3], \"expected\": [1, 3], \"passed\": true}, {\"check\": \"fixture 5\", \"actual\": [1, 3], \"expected\": [1, 3], \"passed\": true}, {\"check\": \"fixture 6\", \"actual\": [1, 2, 4], \"expected\": [2, 3, 4], \"passed\": false}, {\"check\": \"fixture 7\", \"actual\": [2], \"expected\": [2], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.893,"exit_code":1,"observations":[{"actual":[1],"check":"fixture 1","expected":[1],"passed":true},{"actual":[1,2,4],"check":"fixture 2","expected":[1,2,4],"passed":true},{"actual":[1,3],"check":"fixture 3","expected":[2,3],"passed":false},{"actual":[1,3],"check":"fixture 4","expected":[1,3],"passed":true},{"actual":[1,3],"check":"fixture 5","expected":[1,3],"passed":true},{"actual":[1,2,4],"check":"fixture 6","expected":[2,3,4],"passed":false},{"actual":[2],"check":"fixture 7","expected":[2],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": [1], \"expected\": [1], \"passed\": true}, {\"check\": \"fixture 2\", \"actual\": [1, 2, 4], \"expected\": [1, 2, 4], \"passed\": true}, {\"check\": \"fixture 3\", \"actual\": [1, 3], \"expected\": [2, 3], \"passed\": false}, {\"check\": \"fixture 4\", \"actual\": [1, 3], \"expected\": [1, 3], \"passed\": true}, {\"check\": \"fixture 5\", \"actual\": [1, 3], \"expected\": [1, 3], \"passed\": true}, {\"check\": \"fixture 6\", \"actual\": [1, 2, 4], \"expected\": [2, 3, 4], \"passed\": false}, {\"check\": \"fixture 7\", \"actual\": [2], \"expected\": [2], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":47.606,"exit_code":0,"observations":[{"actual":[1],"check":"fixture 1","expected":[1],"passed":true},{"actual":[1,2,4],"check":"fixture 2","expected":[1,2,4],"passed":true},{"actual":[2,3],"check":"fixture 3","expected":[2,3],"passed":true},{"actual":[1,3],"check":"fixture 4","expected":[1,3],"passed":true},{"actual":[1,3],"check":"fixture 5","expected":[1,3],"passed":true},{"actual":[2,3,4],"check":"fixture 6","expected":[2,3,4],"passed":true},{"actual":[2],"check":"fixture 7","expected":[2],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": [1], \"expected\": [1], \"passed\": true}, {\"check\": \"fixture 2\", \"actual\": [1, 2, 4], \"expected\": [1, 2, 4], \"passed\": true}, {\"check\": \"fixture 3\", \"actual\": [2, 3], \"expected\": [2, 3], \"passed\": true}, {\"check\": \"fixture 4\", \"actual\": [1, 3], \"expected\": [1, 3], \"passed\": true}, {\"check\": \"fixture 5\", \"actual\": [1, 3], \"expected\": [1, 3], \"passed\": true}, {\"check\": \"fixture 6\", \"actual\": [2, 3, 4], \"expected\": [2, 3, 4], \"passed\": true}, {\"check\": \"fixture 7\", \"actual\": [2], \"expected\": [2], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}