{"abstract":"records from one source file are scattered.","category":"Dataset split isolation","checks":6,"contract":"Rows [id,file]; train files come from the explicit side map; return IDs sorted.","contract_signature":"rows, sides","evaluation_group":"ds-source-file","failed_approach":"Grouping by parent directory still combines unrelated files.","family":"w3-dataset-split-isolation-source-file-grouping","id":"FA-97896","implementations":{"attempt":{"sha256":"70ab0f14086eb6e57f419ca59ded69c2b856def2a6a64861074c9b350d7afd11","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rows, sides):\n    return sorted(i for i,f in rows if sides.get(f.split('/')[0])=='train')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('same file',solve([['a','dir/a.csv'],['b','dir/a.csv']],{'dir/a.csv':'train'}),['a','b'])\ncheck('different files',solve([['a','a.csv'],['b','b.csv']],{'a.csv':'train','b.csv':'validation'}),['a'])\ncheck('empty',solve([],{}),[])\ncheck('unknown file',solve([['a','x.csv']],{}),[])\ncheck('same directory distinct files',solve([['a','d/a'],['b','d/b']],{'d/a':'train'}),['a'])\ncheck('reversed rows',solve([['b','x'],['a','x']],{'x':'train'}),['a','b'])\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":"aef68df47a1f9abcfdcf185e186bf2a4870b63036b02ec6db4cbb8d8291eec32","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rows, sides):\n    return sorted(i for i,f in rows if sides.get(i)=='train')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('same file',solve([['a','dir/a.csv'],['b','dir/a.csv']],{'dir/a.csv':'train'}),['a','b'])\ncheck('different files',solve([['a','a.csv'],['b','b.csv']],{'a.csv':'train','b.csv':'validation'}),['a'])\ncheck('empty',solve([],{}),[])\ncheck('unknown file',solve([['a','x.csv']],{}),[])\ncheck('same directory distinct files',solve([['a','d/a'],['b','d/b']],{'d/a':'train'}),['a'])\ncheck('reversed rows',solve([['b','x'],['a','x']],{'x':'train'}),['a','b'])\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 records with self-contained contracts; no claim is made about production sampling 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-split-isolation-source-file-grouping","generated_at":"2026-09-30T16:48:07.116950+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"This toy split allocator makes membership rules explicit for reproducible evaluation fixtures.","root_cause":"The split key uses the record ID, not its shared source file.","sha256":"1e1dca1547209f18f83beb94b6c76fe5e7a2572a72b48d44b7cba43cd661969e","title":"Dataset split: records from one source file are scattered · 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":26.984,"exit_code":1,"observations":[{"actual":[],"check":"same file","expected":["a","b"],"passed":false},{"actual":["a"],"check":"different files","expected":["a"],"passed":true},{"actual":[],"check":"empty","expected":[],"passed":true},{"actual":[],"check":"unknown file","expected":[],"passed":true},{"actual":[],"check":"same directory distinct files","expected":["a"],"passed":false},{"actual":["a","b"],"check":"reversed rows","expected":["a","b"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"same file\", \"actual\": [], \"expected\": [\"a\", \"b\"], \"passed\": false}, {\"check\": \"different files\", \"actual\": [\"a\"], \"expected\": [\"a\"], \"passed\": true}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown file\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"same directory distinct files\", \"actual\": [], \"expected\": [\"a\"], \"passed\": false}, {\"check\": \"reversed rows\", \"actual\": [\"a\", \"b\"], \"expected\": [\"a\", \"b\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":27.444,"exit_code":1,"observations":[{"actual":[],"check":"same file","expected":["a","b"],"passed":false},{"actual":[],"check":"different files","expected":["a"],"passed":false},{"actual":[],"check":"empty","expected":[],"passed":true},{"actual":[],"check":"unknown file","expected":[],"passed":true},{"actual":[],"check":"same directory distinct files","expected":["a"],"passed":false},{"actual":[],"check":"reversed rows","expected":["a","b"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"same file\", \"actual\": [], \"expected\": [\"a\", \"b\"], \"passed\": false}, {\"check\": \"different files\", \"actual\": [], \"expected\": [\"a\"], \"passed\": false}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown file\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"same directory distinct files\", \"actual\": [], \"expected\": [\"a\"], \"passed\": false}, {\"check\": \"reversed rows\", \"actual\": [], \"expected\": [\"a\", \"b\"], \"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."}}