{"abstract":"rolling validation windows reuse future observations as training.","category":"Dataset split isolation","checks":6,"contract":"Return a list of sorted training ID lists, one per origin, using records [id,time].","contract_signature":"records, origins","evaluation_group":"ds-rolling-origin","failed_approach":"Filtering once against the final origin does not enforce earlier folds.","family":"w3-dataset-split-isolation-rolling-origin-window","id":"FA-97871","implementations":{"attempt":{"sha256":"eb27d8953e350bdab8689ef5f827e91da7f44b959322d665b39c0654caf9b4a6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(records, origins):\n    return [sorted(i for i,t in records if t<=o) for o in origins]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('two origins',solve([['a',N-2],['b',N],['c',N+2]],[N,N+2]),[['a'],['a','b']])\ncheck('empty origins',solve([['a',N]],[]),[])\ncheck('empty data',solve([],[N]),[[]])\ncheck('exact origin excluded',solve([['a',N]], [N]),[[]])\ncheck('unordered records',solve([['c',N+3],['a',N-1],['b',N+1]],[N,N+2]),[['a'],['a','b']])\ncheck('repeated origins',solve([['a',N-1]],[N,N]),[['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":"81c6f2597cd9820fe895a5f1ba4e21a164418d3b3e13923462034645ae6353ca","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(records, origins):\n    return [sorted(i for i,t in records if t<max(origins)) for _ in origins]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('two origins',solve([['a',N-2],['b',N],['c',N+2]],[N,N+2]),[['a'],['a','b']])\ncheck('empty origins',solve([['a',N]],[]),[])\ncheck('empty data',solve([],[N]),[[]])\ncheck('exact origin excluded',solve([['a',N]], [N]),[[]])\ncheck('unordered records',solve([['c',N+3],['a',N-1],['b',N+1]],[N,N+2]),[['a'],['a','b']])\ncheck('repeated origins',solve([['a',N-1]],[N,N]),[['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 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-rolling-origin-window","generated_at":"2026-09-30T16:48:06.687660+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":"Each fold cutoff is computed, but records after its origin are retained.","sha256":"5e062f22755ca8d978392c0b88f0a8063268c60c7d240c207b80e8e34a668023","title":"Dataset split: rolling validation windows reuse future observations as training · case 01","variant":1,"variant_policy":"The fixture code references N, supplied as 1 through 5. Fixed boundary checks may repeat. These records share one mechanism and must remain together in evaluation splits.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":25.443,"exit_code":1,"observations":[{"actual":[["a","b"],["a","b","c"]],"check":"two origins","expected":[["a"],["a","b"]],"passed":false},{"actual":[],"check":"empty origins","expected":[],"passed":true},{"actual":[[]],"check":"empty data","expected":[[]],"passed":true},{"actual":[["a"]],"check":"exact origin excluded","expected":[[]],"passed":false},{"actual":[["a"],["a","b"]],"check":"unordered records","expected":[["a"],["a","b"]],"passed":true},{"actual":[["a"],["a"]],"check":"repeated origins","expected":[["a"],["a"]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"two origins\", \"actual\": [[\"a\", \"b\"], [\"a\", \"b\", \"c\"]], \"expected\": [[\"a\"], [\"a\", \"b\"]], \"passed\": false}, {\"check\": \"empty origins\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"empty data\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"exact origin excluded\", \"actual\": [[\"a\"]], \"expected\": [[]], \"passed\": false}, {\"check\": \"unordered records\", \"actual\": [[\"a\"], [\"a\", \"b\"]], \"expected\": [[\"a\"], [\"a\", \"b\"]], \"passed\": true}, {\"check\": \"repeated origins\", \"actual\": [[\"a\"], [\"a\"]], \"expected\": [[\"a\"], [\"a\"]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":32.36,"exit_code":1,"observations":[{"actual":[["a","b"],["a","b"]],"check":"two origins","expected":[["a"],["a","b"]],"passed":false},{"actual":[],"check":"empty origins","expected":[],"passed":true},{"actual":[[]],"check":"empty data","expected":[[]],"passed":true},{"actual":[[]],"check":"exact origin excluded","expected":[[]],"passed":true},{"actual":[["a","b"],["a","b"]],"check":"unordered records","expected":[["a"],["a","b"]],"passed":false},{"actual":[["a"],["a"]],"check":"repeated origins","expected":[["a"],["a"]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"two origins\", \"actual\": [[\"a\", \"b\"], [\"a\", \"b\"]], \"expected\": [[\"a\"], [\"a\", \"b\"]], \"passed\": false}, {\"check\": \"empty origins\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"empty data\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"exact origin excluded\", \"actual\": [[]], \"expected\": [[]], \"passed\": true}, {\"check\": \"unordered records\", \"actual\": [[\"a\", \"b\"], [\"a\", \"b\"]], \"expected\": [[\"a\"], [\"a\", \"b\"]], \"passed\": false}, {\"check\": \"repeated origins\", \"actual\": [[\"a\"], [\"a\"]], \"expected\": [[\"a\"], [\"a\"]], \"passed\": true}], \"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."}}