{"abstract":"session side lookup uses the date instead of the session.","category":"Dataset split isolation","checks":6,"contract":"Rows [id,session,date]. Return IDs belonging to sessions mapped to train; dates do not affect ownership.","contract_signature":"rows, sides","evaluation_group":"ds-session-ownership","failed_approach":"Using a date as the ownership key would still split one session across dates.","family":"w3-dataset-split-isolation-session-group-ownership","id":"FA-97881","implementations":{"attempt":{"sha256":"56b68435bc3764aed3005b450a156e9709a797540584036dbffcaa51eba9dccd","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,s,d in rows if sides.get(s,'validation')=='train' and d!='holdout')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('cross date session',solve([['a','s','d1'],['b','s','d2']],{'s':'train'}),['a','b'])\ncheck('validation session',solve([['a','v','d1']],{'v':'validation'}),[])\ncheck('unknown session',solve([['a','u','train']],{}),[])\ncheck('empty',solve([],{}),[])\ncheck('date cannot override',solve([['a','s','holdout']],{'s':'train'}),['a'])\ncheck('multiple sessions',solve([['a','s','x'],['b','t','x']],{'s':'train','t':'validation'}),['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":"68f44fd22fb55c525618b7647666c2e39dbcce5c7d65ca5c43827d347bef6114","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,s,d in rows if sides.get(d)=='train')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('cross date session',solve([['a','s','d1'],['b','s','d2']],{'s':'train'}),['a','b'])\ncheck('validation session',solve([['a','v','d1']],{'v':'validation'}),[])\ncheck('unknown session',solve([['a','u','train']],{}),[])\ncheck('empty',solve([],{}),[])\ncheck('date cannot override',solve([['a','s','holdout']],{'s':'train'}),['a'])\ncheck('multiple sessions',solve([['a','s','x'],['b','t','x']],{'s':'train','t':'validation'}),['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 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-session-group-ownership","generated_at":"2026-09-30T16:48:07.117919+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 implementation looks up each row’s date in a map whose keys are session IDs, so the session’s assigned side is ignored.","sha256":"4e350dd048ffb10a39309c0de1c69c75f3822a49c2e7ea8d50cc43f9c0f79863","title":"Dataset split: session side lookup uses the date instead of the session · 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.746,"exit_code":1,"observations":[{"actual":["a","b"],"check":"cross date session","expected":["a","b"],"passed":true},{"actual":[],"check":"validation session","expected":[],"passed":true},{"actual":[],"check":"unknown session","expected":[],"passed":true},{"actual":[],"check":"empty","expected":[],"passed":true},{"actual":[],"check":"date cannot override","expected":["a"],"passed":false},{"actual":["a"],"check":"multiple sessions","expected":["a"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"cross date session\", \"actual\": [\"a\", \"b\"], \"expected\": [\"a\", \"b\"], \"passed\": true}, {\"check\": \"validation session\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown session\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"date cannot override\", \"actual\": [], \"expected\": [\"a\"], \"passed\": false}, {\"check\": \"multiple sessions\", \"actual\": [\"a\"], \"expected\": [\"a\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":28.72,"exit_code":1,"observations":[{"actual":[],"check":"cross date session","expected":["a","b"],"passed":false},{"actual":[],"check":"validation session","expected":[],"passed":true},{"actual":[],"check":"unknown session","expected":[],"passed":true},{"actual":[],"check":"empty","expected":[],"passed":true},{"actual":[],"check":"date cannot override","expected":["a"],"passed":false},{"actual":[],"check":"multiple sessions","expected":["a"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"cross date session\", \"actual\": [], \"expected\": [\"a\", \"b\"], \"passed\": false}, {\"check\": \"validation session\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unknown session\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"date cannot override\", \"actual\": [], \"expected\": [\"a\"], \"passed\": false}, {\"check\": \"multiple sessions\", \"actual\": [], \"expected\": [\"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."}}