{"abstract":"Post-assignment covariates enter a prespecified baseline adjustment set.","category":"Causal analysis data contracts","checks":6,"contract":"Candidates [name,role,time] have roles baseline, mediator, or outcome. Return sorted baseline names measured strictly before assignment time.","evaluation_group":"model-fd4ae7b477e632a6","failed_approach":"Role filtering alone retains mislabeled late measurements.","family":"z-causal_inference-adjustment-time","id":"FA-12651","implementations":{"attempt":{"sha256":"e6553bc0e1dfc6138e9cba205d7c58ac575dd59594cdea384deb778a5a25b676","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(candidates, assigned_at):\n    return sorted(r[0] for r in candidates if r[1] == 'baseline')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('late baseline', solve([['x','baseline',N+1]], N), [])\ncheck('proper baseline', solve([['x','baseline',N-1]], N), ['x'])\ncheck('same instant', solve([['x','baseline',N]], N), [])\ncheck('mediator', solve([['m','mediator',N-1]], N), [])\ncheck('empty', solve([], N), [])\ncheck('mixed', solve([['z','baseline',N-2],['a','baseline',N-1],['y','outcome',N+2]], N), ['a','z'])\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":"9a9fa62fe41070d3114c6f97046426a52bd38df28edf1cf4cfce5a8c537ee7c6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(candidates, assigned_at):\n    return sorted(r[0] for r in candidates)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('late baseline', solve([['x','baseline',N+1]], N), [])\ncheck('proper baseline', solve([['x','baseline',N-1]], N), ['x'])\ncheck('same instant', solve([['x','baseline',N]], N), [])\ncheck('mediator', solve([['m','mediator',N-1]], N), [])\ncheck('empty', solve([], N), [])\ncheck('mixed', solve([['z','baseline',N-2],['a','baseline',N-1],['y','outcome',N+2]], N), ['a','z'])\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":"511ca6c282559cabb9f06f944cc1d8d49d11478b40a9ef8107817e116bd34eb1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(candidates, assigned_at):\n    return sorted(r[0] for r in candidates if r[1] == 'baseline' and r[2] < assigned_at)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('late baseline', solve([['x','baseline',N+1]], N), [])\ncheck('proper baseline', solve([['x','baseline',N-1]], N), ['x'])\ncheck('same instant', solve([['x','baseline',N]], N), [])\ncheck('mediator', solve([['m','mediator',N-1]], N), [])\ncheck('empty', solve([], N), [])\ncheck('mixed', solve([['z','baseline',N-2],['a','baseline',N-1],['y','outcome',N+2]], N), ['a','z'])\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":"Finite, fully specified synthetic data only; identification assumptions are supplied by the fixture design, not inferred from observations. 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":"z-causal_inference-adjustment-time","generated_at":"2026-09-29T14:38:58.793953+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic synthetic study model isolates this data-contract defect; outputs alone establish no real-world causal identification.","repair":"Require approved baseline role and measurement strictly before assignment.","root_cause":"Candidate columns are accepted without enforcing the design cutoff.","sha256":"3402645a8e5db7b1b5d9c89d73c062fe6ae58b12c79f15d8baac9c920e21ea3a","title":"Post-assignment covariates enter a prespecified baseline adjustment set · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.329,"exit_code":1,"observations":[{"actual":["x"],"check":"late baseline","expected":[],"passed":false},{"actual":["x"],"check":"proper baseline","expected":["x"],"passed":true},{"actual":["x"],"check":"same instant","expected":[],"passed":false},{"actual":[],"check":"mediator","expected":[],"passed":true},{"actual":[],"check":"empty","expected":[],"passed":true},{"actual":["a","z"],"check":"mixed","expected":["a","z"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"late baseline\", \"actual\": [\"x\"], \"expected\": [], \"passed\": false}, {\"check\": \"proper baseline\", \"actual\": [\"x\"], \"expected\": [\"x\"], \"passed\": true}, {\"check\": \"same instant\", \"actual\": [\"x\"], \"expected\": [], \"passed\": false}, {\"check\": \"mediator\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"mixed\", \"actual\": [\"a\", \"z\"], \"expected\": [\"a\", \"z\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.676,"exit_code":1,"observations":[{"actual":["x"],"check":"late baseline","expected":[],"passed":false},{"actual":["x"],"check":"proper baseline","expected":["x"],"passed":true},{"actual":["x"],"check":"same instant","expected":[],"passed":false},{"actual":["m"],"check":"mediator","expected":[],"passed":false},{"actual":[],"check":"empty","expected":[],"passed":true},{"actual":["a","y","z"],"check":"mixed","expected":["a","z"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"late baseline\", \"actual\": [\"x\"], \"expected\": [], \"passed\": false}, {\"check\": \"proper baseline\", \"actual\": [\"x\"], \"expected\": [\"x\"], \"passed\": true}, {\"check\": \"same instant\", \"actual\": [\"x\"], \"expected\": [], \"passed\": false}, {\"check\": \"mediator\", \"actual\": [\"m\"], \"expected\": [], \"passed\": false}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"mixed\", \"actual\": [\"a\", \"y\", \"z\"], \"expected\": [\"a\", \"z\"], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":46.019,"exit_code":0,"observations":[{"actual":[],"check":"late baseline","expected":[],"passed":true},{"actual":["x"],"check":"proper baseline","expected":["x"],"passed":true},{"actual":[],"check":"same instant","expected":[],"passed":true},{"actual":[],"check":"mediator","expected":[],"passed":true},{"actual":[],"check":"empty","expected":[],"passed":true},{"actual":["a","z"],"check":"mixed","expected":["a","z"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"late baseline\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"proper baseline\", \"actual\": [\"x\"], \"expected\": [\"x\"], \"passed\": true}, {\"check\": \"same instant\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"mediator\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"mixed\", \"actual\": [\"a\", \"z\"], \"expected\": [\"a\", \"z\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}