{"abstract":"equivalence group IDs depend on input order.","category":"Dataset deduplication grouping","checks":6,"contract":"Rows [id,group_key]; return [id,canonical_group_id] in input order where canonical ID is the smallest ID for each key.","contract_signature":"rows","evaluation_group":"dedup-stable-group-id","failed_approach":"Using the first encountered member still changes under row permutation.","family":"w3-dataset-deduplication-grouping-stable-group-label","id":"FA-100326","implementations":{"attempt":{"sha256":"2e84f6f011a3e53bda8f97b85ecbc82cb20f9eabd4b88a87a4241f9e5bc7dd04","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rows):\n    first={};\n    for i,g in rows: first.setdefault(g,i)\n    return [[i,first[g]] for i,g in rows]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('noncanonical first',solve([['z','g'],['a','g']]),[['z','a'],['a','a']])\ncheck('separate groups',solve([['b','y'],['a','x']]),[['b','b'],['a','a']])\ncheck('empty',solve([]),[])\ncheck('singleton',solve([['x','g']]),[['x','x']])\ncheck('interleaved',solve([['z','g'],['m','h'],['a','g']]),[['z','a'],['m','m'],['a','a']])\ncheck('duplicate group rows',solve([['b','g'],['c','g'],['a','g']]),[['b','a'],['c','a'],['a','a']])\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":"baeb1995cef296d056c814685dc8e00a0827216e664ae2e135123b0fead5bdb4","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rows):\n    first={}; out=[]\n    for i,g in rows:\n     first.setdefault(g,i); out.append([i,first[g]])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('noncanonical first',solve([['z','g'],['a','g']]),[['z','a'],['a','a']])\ncheck('separate groups',solve([['b','y'],['a','x']]),[['b','b'],['a','a']])\ncheck('empty',solve([]),[])\ncheck('singleton',solve([['x','g']]),[['x','x']])\ncheck('interleaved',solve([['z','g'],['m','h'],['a','g']]),[['z','a'],['m','m'],['a','a']])\ncheck('duplicate group rows',solve([['b','g'],['c','g'],['a','g']]),[['b','a'],['c','a'],['a','a']])\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":"Inputs are small in-memory fixtures with the stated contract; results do not claim production deduplication quality. 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":"w3-dataset-deduplication-grouping-stable-group-label","generated_at":"2026-09-30T16:48:34.470971+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"This deterministic toy operation makes one dataset equivalence or representative rule explicit.","root_cause":"A sequential counter labels components in the order their first member occurs.","sha256":"1f3dc1a7ef7fae27b2285c5958533ba4e4e6c5ea7266cf567ed2e98b283be60b","title":"Dataset deduplication: equivalence group IDs depend on input order · case 01","variant":1,"variant_policy":"The same explicitly authored fixtures repeat across all five numbered records; runtime N is unused. These records share one mechanism and must remain together in evaluation splits.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":28.619,"exit_code":1,"observations":[{"actual":[["z","z"],["a","z"]],"check":"noncanonical first","expected":[["z","a"],["a","a"]],"passed":false},{"actual":[["b","b"],["a","a"]],"check":"separate groups","expected":[["b","b"],["a","a"]],"passed":true},{"actual":[],"check":"empty","expected":[],"passed":true},{"actual":[["x","x"]],"check":"singleton","expected":[["x","x"]],"passed":true},{"actual":[["z","z"],["m","m"],["a","z"]],"check":"interleaved","expected":[["z","a"],["m","m"],["a","a"]],"passed":false},{"actual":[["b","b"],["c","b"],["a","b"]],"check":"duplicate group rows","expected":[["b","a"],["c","a"],["a","a"]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"noncanonical first\", \"actual\": [[\"z\", \"z\"], [\"a\", \"z\"]], \"expected\": [[\"z\", \"a\"], [\"a\", \"a\"]], \"passed\": false}, {\"check\": \"separate groups\", \"actual\": [[\"b\", \"b\"], [\"a\", \"a\"]], \"expected\": [[\"b\", \"b\"], [\"a\", \"a\"]], \"passed\": true}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"singleton\", \"actual\": [[\"x\", \"x\"]], \"expected\": [[\"x\", \"x\"]], \"passed\": true}, {\"check\": \"interleaved\", \"actual\": [[\"z\", \"z\"], [\"m\", \"m\"], [\"a\", \"z\"]], \"expected\": [[\"z\", \"a\"], [\"m\", \"m\"], [\"a\", \"a\"]], \"passed\": false}, {\"check\": \"duplicate group rows\", \"actual\": [[\"b\", \"b\"], [\"c\", \"b\"], [\"a\", \"b\"]], \"expected\": [[\"b\", \"a\"], [\"c\", \"a\"], [\"a\", \"a\"]], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":28.395,"exit_code":1,"observations":[{"actual":[["z","z"],["a","z"]],"check":"noncanonical first","expected":[["z","a"],["a","a"]],"passed":false},{"actual":[["b","b"],["a","a"]],"check":"separate groups","expected":[["b","b"],["a","a"]],"passed":true},{"actual":[],"check":"empty","expected":[],"passed":true},{"actual":[["x","x"]],"check":"singleton","expected":[["x","x"]],"passed":true},{"actual":[["z","z"],["m","m"],["a","z"]],"check":"interleaved","expected":[["z","a"],["m","m"],["a","a"]],"passed":false},{"actual":[["b","b"],["c","b"],["a","b"]],"check":"duplicate group rows","expected":[["b","a"],["c","a"],["a","a"]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"noncanonical first\", \"actual\": [[\"z\", \"z\"], [\"a\", \"z\"]], \"expected\": [[\"z\", \"a\"], [\"a\", \"a\"]], \"passed\": false}, {\"check\": \"separate groups\", \"actual\": [[\"b\", \"b\"], [\"a\", \"a\"]], \"expected\": [[\"b\", \"b\"], [\"a\", \"a\"]], \"passed\": true}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"singleton\", \"actual\": [[\"x\", \"x\"]], \"expected\": [[\"x\", \"x\"]], \"passed\": true}, {\"check\": \"interleaved\", \"actual\": [[\"z\", \"z\"], [\"m\", \"m\"], [\"a\", \"z\"]], \"expected\": [[\"z\", \"a\"], [\"m\", \"m\"], [\"a\", \"a\"]], \"passed\": false}, {\"check\": \"duplicate group rows\", \"actual\": [[\"b\", \"b\"], [\"c\", \"b\"], [\"a\", \"b\"]], \"expected\": [[\"b\", \"a\"], [\"c\", \"a\"], [\"a\", \"a\"]], \"passed\": false}], \"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."}}