{"abstract":"Intention-to-treat groups are rebuilt from received treatment.","category":"Causal analysis data contracts","checks":6,"contract":"Rows are [assignment, received, outcome]. Return assigned-arm mean difference or None if either assigned arm is absent.","contract_signature":"rows","evaluation_group":"model-c6bf74fc8eee4555","failed_approach":"Dropping noncompliers still conditions on uptake.","family":"z-causal_inference-assignment-groups","id":"FA-12641","implementations":{"attempt":{"sha256":"698257a6a8a8d5ccb22369ec69a49508987f0a1f86e383b5ba6ebdd1e4e2a2ba","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rows):\n    groups = [[r[2] for r in rows if r[0] == a and r[0] == r[1]] for a in (0,1)]\n    return None if not all(groups) else sum(groups[1])/len(groups[1])-sum(groups[0])/len(groups[0])\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('crossovers', solve([[0,0,0],[0,1,4*N],[1,0,2*N],[1,1,6*N]]), 2*N)\ncheck('compliance', solve([[0,0,N],[1,1,3*N]]), 2*N)\ncheck('all cross', solve([[0,1,N],[1,0,4*N]]), 3*N)\ncheck('empty', solve([]), None)\ncheck('missing control', solve([[1,0,N]]), None)\ncheck('zero effect', solve([[0,1,N],[1,1,N]]), 0)\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":"37d517796bffe55eba20ecdc6a8d8fa42d3e730e6dd0629cb1bf6d9bb624e1dd","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rows):\n    groups = [[r[2] for r in rows if r[1] == a] for a in (0,1)]\n    return None if not all(groups) else sum(groups[1])/len(groups[1])-sum(groups[0])/len(groups[0])\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('crossovers', solve([[0,0,0],[0,1,4*N],[1,0,2*N],[1,1,6*N]]), 2*N)\ncheck('compliance', solve([[0,0,N],[1,1,3*N]]), 2*N)\ncheck('all cross', solve([[0,1,N],[1,0,4*N]]), 3*N)\ncheck('empty', solve([]), None)\ncheck('missing control', solve([[1,0,N]]), None)\ncheck('zero effect', solve([[0,1,N],[1,1,N]]), 0)\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-assignment-groups","generated_at":"2026-09-29T14:38:58.793921+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.","root_cause":"Observed uptake replaces randomized assignment.","sha256":"6d73c1153095e2f815f6815ecdc757198b621a20cb9c37650d9a5a16d89900bd","title":"Intention-to-treat groups are rebuilt from received treatment · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":42.81,"exit_code":1,"observations":[{"actual":6.0,"check":"crossovers","expected":2,"passed":false},{"actual":2.0,"check":"compliance","expected":2,"passed":true},{"actual":null,"check":"all cross","expected":3,"passed":false},{"actual":null,"check":"empty","expected":null,"passed":true},{"actual":null,"check":"missing control","expected":null,"passed":true},{"actual":null,"check":"zero effect","expected":0,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"crossovers\", \"actual\": 6.0, \"expected\": 2, \"passed\": false}, {\"check\": \"compliance\", \"actual\": 2.0, \"expected\": 2, \"passed\": true}, {\"check\": \"all cross\", \"actual\": null, \"expected\": 3, \"passed\": false}, {\"check\": \"empty\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"missing control\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"zero effect\", \"actual\": null, \"expected\": 0, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.554,"exit_code":1,"observations":[{"actual":4.0,"check":"crossovers","expected":2,"passed":false},{"actual":2.0,"check":"compliance","expected":2,"passed":true},{"actual":-3.0,"check":"all cross","expected":3,"passed":false},{"actual":null,"check":"empty","expected":null,"passed":true},{"actual":null,"check":"missing control","expected":null,"passed":true},{"actual":null,"check":"zero effect","expected":0,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"crossovers\", \"actual\": 4.0, \"expected\": 2, \"passed\": false}, {\"check\": \"compliance\", \"actual\": 2.0, \"expected\": 2, \"passed\": true}, {\"check\": \"all cross\", \"actual\": -3.0, \"expected\": 3, \"passed\": false}, {\"check\": \"empty\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"missing control\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"zero effect\", \"actual\": null, \"expected\": 0, \"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."}}