{"abstract":"The reduction disagrees with its explicit aggregation oracle.","category":"Numerical aggregation","checks":9,"contract":"Two equal-length integer cluster label arrays describe the same observations. Return exact adjusted Rand index from pair-count contingency reduction. Label names have no numerical meaning. Matching degenerate partitions with zero normalization return \"1\"; length mismatch returns None.","evaluation_group":"s3-na-adjusted-partition-pair-agreement","failed_approach":"Normalizing by pair count twice turns expected pair count into a probability.","family":"s3-numerical-aggregation-adjusted-partition-pair-agreement-ari-expected-addition","id":"FA-13771","implementations":{"attempt":{"sha256":"123877e1265f94054ae45f5c270058e1908292b5a4cb8a0ceae79f7d29aa3d9b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nfrom collections import Counter, defaultdict\nimport math\nimport itertools\nN = 1\nobservations = []\ndef solve(a, b):\n    if len(a)!=len(b): return None\n    n=len(a)\n    if n<2: return \"1\"\n    pairs=n*(n-1)//2\n    joint=Counter(zip(a,b))\n    ra,rb=Counter(a),Counter(b)\n    choose=lambda k:k*(k-1)//2\n    same=sum(choose(v) for v in joint.values())\n    x=sum(choose(v) for v in ra.values())\n    y=sum(choose(v) for v in rb.values())\n    expected=Fraction(x*y,pairs*pairs)\n    ceiling=Fraction(x+y,2)\n    return \"1\" if ceiling==expected else str((same-expected)/(ceiling-expected))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('regression 1', solve(*([0, 0, 1, 1], [4, 4, 5, 5])), '1')\ncheck('regression 2', solve(*([0, 0, 1, 1], [0, 1, 0, 1])), '-1/2')\ncheck('regression 3', solve(*([], [])), '1')\ncheck('regression 4', solve(*([0], [9])), '1')\ncheck('regression 5', solve(*([0, 0, 0, 1, 2], [1, 1, 2, 2, 2])), '-2/23')\ncheck('regression 6', solve(*([0, 1, 2], [8, 9, 10])), '1')\ncheck('regression 7', solve(*([0, 0], [1])), None)\ncheck('regression 8', solve(*([0, 0, 1, 2, 2, 2], [4, 5, 4, 5, 5, 5])), '34/109')\ncheck(\"variable label names\",solve([N,N,N+1,N+1],[7,7,8,8]),\"1\")\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":"d70d0fe2c31e80172ab13e4b9e95ce8bab16fde71b80407c60b199e3081f0567","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nfrom collections import Counter, defaultdict\nimport math\nimport itertools\nN = 1\nobservations = []\ndef solve(a, b):\n    if len(a)!=len(b): return None\n    n=len(a)\n    if n<2: return \"1\"\n    pairs=n*(n-1)//2\n    joint=Counter(zip(a,b))\n    ra,rb=Counter(a),Counter(b)\n    choose=lambda k:k*(k-1)//2\n    same=sum(choose(v) for v in joint.values())\n    x=sum(choose(v) for v in ra.values())\n    y=sum(choose(v) for v in rb.values())\n    expected=Fraction(x+y,pairs)\n    ceiling=Fraction(x+y,2)\n    return \"1\" if ceiling==expected else str((same-expected)/(ceiling-expected))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('regression 1', solve(*([0, 0, 1, 1], [4, 4, 5, 5])), '1')\ncheck('regression 2', solve(*([0, 0, 1, 1], [0, 1, 0, 1])), '-1/2')\ncheck('regression 3', solve(*([], [])), '1')\ncheck('regression 4', solve(*([0], [9])), '1')\ncheck('regression 5', solve(*([0, 0, 0, 1, 2], [1, 1, 2, 2, 2])), '-2/23')\ncheck('regression 6', solve(*([0, 1, 2], [8, 9, 10])), '1')\ncheck('regression 7', solve(*([0, 0], [1])), None)\ncheck('regression 8', solve(*([0, 0, 1, 2, 2, 2], [4, 5, 4, 5, 5, 5])), '34/109')\ncheck(\"variable label names\",solve([N,N,N+1,N+1],[7,7,8,8]),\"1\")\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":"f1d717731848ae1508be0aed6706e7ae4b085082a44842998adbcafe1bc5ec7c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nfrom collections import Counter, defaultdict\nimport math\nimport itertools\nN = 1\nobservations = []\ndef solve(a, b):\n    if len(a)!=len(b): return None\n    n=len(a)\n    if n<2: return \"1\"\n    pairs=n*(n-1)//2\n    joint=Counter(zip(a,b))\n    ra,rb=Counter(a),Counter(b)\n    choose=lambda k:k*(k-1)//2\n    same=sum(choose(v) for v in joint.values())\n    x=sum(choose(v) for v in ra.values())\n    y=sum(choose(v) for v in rb.values())\n    expected=Fraction(x*y,pairs)\n    ceiling=Fraction(x+y,2)\n    return \"1\" if ceiling==expected else str((same-expected)/(ceiling-expected))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('regression 1', solve(*([0, 0, 1, 1], [4, 4, 5, 5])), '1')\ncheck('regression 2', solve(*([0, 0, 1, 1], [0, 1, 0, 1])), '-1/2')\ncheck('regression 3', solve(*([], [])), '1')\ncheck('regression 4', solve(*([0], [9])), '1')\ncheck('regression 5', solve(*([0, 0, 0, 1, 2], [1, 1, 2, 2, 2])), '-2/23')\ncheck('regression 6', solve(*([0, 1, 2], [8, 9, 10])), '1')\ncheck('regression 7', solve(*([0, 0], [1])), None)\ncheck('regression 8', solve(*([0, 0, 1, 2, 2, 2], [4, 5, 4, 5, 5, 5])), '34/109')\ncheck(\"variable label names\",solve([N,N,N+1,N+1],[7,7,8,8]),\"1\")\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":"Small offline integer/rational inputs only; no performance, statistical inference, or production-library conformance claim. 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":"s3-numerical-aggregation-adjusted-partition-pair-agreement-ari-expected-addition","generated_at":"2026-09-29T14:39:10.358449+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Exact bounded examples isolate a reduction defect without floating-point or external-service effects.","repair":"Preserve the adjusted partition pair agreement contract at the identified reduction decision.","root_cause":"Chance agreement uses a sum of marginal pair totals.","sha256":"b39361de66f89570925a28840a8dc361e61e8102b51fbc187f902dbdaf2a48b1","title":"Adjusted partition pair agreement: Chance agreement uses a sum of marginal pair totals. · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.601,"exit_code":1,"observations":[{"actual":"1","check":"regression 1","expected":"1","passed":true},{"actual":"-1/17","check":"regression 2","expected":"-1/2","passed":false},{"actual":"1","check":"regression 3","expected":"1","passed":true},{"actual":"1","check":"regression 4","expected":"1","passed":true},{"actual":"44/169","check":"regression 5","expected":"-2/23","passed":false},{"actual":"1","check":"regression 6","expected":"1","passed":true},{"actual":null,"check":"regression 7","expected":null,"passed":true},{"actual":"1294/2419","check":"regression 8","expected":"34/109","passed":false},{"actual":"1","check":"variable label names","expected":"1","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression 1\", \"actual\": \"1\", \"expected\": \"1\", \"passed\": true}, {\"check\": \"regression 2\", \"actual\": \"-1/17\", \"expected\": \"-1/2\", \"passed\": false}, {\"check\": \"regression 3\", \"actual\": \"1\", \"expected\": \"1\", \"passed\": true}, {\"check\": \"regression 4\", \"actual\": \"1\", \"expected\": \"1\", \"passed\": true}, {\"check\": \"regression 5\", \"actual\": \"44/169\", \"expected\": \"-2/23\", \"passed\": false}, {\"check\": \"regression 6\", \"actual\": \"1\", \"expected\": \"1\", \"passed\": true}, {\"check\": \"regression 7\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"regression 8\", \"actual\": \"1294/2419\", \"expected\": \"34/109\", \"passed\": false}, {\"check\": \"variable label names\", \"actual\": \"1\", \"expected\": \"1\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.002,"exit_code":1,"observations":[{"actual":"1","check":"regression 1","expected":"1","passed":true},{"actual":"-1/2","check":"regression 2","expected":"-1/2","passed":true},{"actual":"1","check":"regression 3","expected":"1","passed":true},{"actual":"1","check":"regression 4","expected":"1","passed":true},{"actual":"3/28","check":"regression 5","expected":"-2/23","passed":false},{"actual":"1","check":"regression 6","expected":"1","passed":true},{"actual":null,"check":"regression 7","expected":null,"passed":true},{"actual":"68/143","check":"regression 8","expected":"34/109","passed":false},{"actual":"1","check":"variable label names","expected":"1","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression 1\", \"actual\": \"1\", \"expected\": \"1\", \"passed\": true}, {\"check\": \"regression 2\", \"actual\": \"-1/2\", \"expected\": \"-1/2\", \"passed\": true}, {\"check\": \"regression 3\", \"actual\": \"1\", \"expected\": \"1\", \"passed\": true}, {\"check\": \"regression 4\", \"actual\": \"1\", \"expected\": \"1\", \"passed\": true}, {\"check\": \"regression 5\", \"actual\": \"3/28\", \"expected\": \"-2/23\", \"passed\": false}, {\"check\": \"regression 6\", \"actual\": \"1\", \"expected\": \"1\", \"passed\": true}, {\"check\": \"regression 7\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"regression 8\", \"actual\": \"68/143\", \"expected\": \"34/109\", \"passed\": false}, {\"check\": \"variable label names\", \"actual\": \"1\", \"expected\": \"1\", \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.05,"exit_code":0,"observations":[{"actual":"1","check":"regression 1","expected":"1","passed":true},{"actual":"-1/2","check":"regression 2","expected":"-1/2","passed":true},{"actual":"1","check":"regression 3","expected":"1","passed":true},{"actual":"1","check":"regression 4","expected":"1","passed":true},{"actual":"-2/23","check":"regression 5","expected":"-2/23","passed":true},{"actual":"1","check":"regression 6","expected":"1","passed":true},{"actual":null,"check":"regression 7","expected":null,"passed":true},{"actual":"34/109","check":"regression 8","expected":"34/109","passed":true},{"actual":"1","check":"variable label names","expected":"1","passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression 1\", \"actual\": \"1\", \"expected\": \"1\", \"passed\": true}, {\"check\": \"regression 2\", \"actual\": \"-1/2\", \"expected\": \"-1/2\", \"passed\": true}, {\"check\": \"regression 3\", \"actual\": \"1\", \"expected\": \"1\", \"passed\": true}, {\"check\": \"regression 4\", \"actual\": \"1\", \"expected\": \"1\", \"passed\": true}, {\"check\": \"regression 5\", \"actual\": \"-2/23\", \"expected\": \"-2/23\", \"passed\": true}, {\"check\": \"regression 6\", \"actual\": \"1\", \"expected\": \"1\", \"passed\": true}, {\"check\": \"regression 7\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"regression 8\", \"actual\": \"34/109\", \"expected\": \"34/109\", \"passed\": true}, {\"check\": \"variable label names\", \"actual\": \"1\", \"expected\": \"1\", \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}