{"abstract":"Merged lot genealogy loses one input branch.","category":"Manufacturing workflow integrity","checks":6,"contract":"Given an acyclic parent mapping, return sorted terminal ancestors of a lot; an unmapped or parentless lot is a source.","contract_signature":"parents, lot","evaluation_group":"model-ac067b6052f5367f","failed_approach":"Returning immediate parents fixes merges but omits sources behind intermediate lots.","family":"z-manufacturing-merge-genealogy","id":"FA-12351","implementations":{"attempt":{"sha256":"a9a035749dbce14717825f675668906e4bdd9eb3b05a26be2d2d9884450bc2a9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(parents, lot):\n    return sorted(set(parents.get(lot) or [lot]))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\np = {str(i): [str(i-1)] for i in range(1, N+1)}\np['blend'] = [str(N), 'b']\ncheck('both upstream branches', solve(p, 'blend'), ['0', 'b'])\ncheck('chain source', solve(p, str(N)), ['0'])\ncheck('unmapped source', solve(p, 'b'), ['b'])\ncheck('explicit source', solve({'a': []}, 'a'), ['a'])\ncheck('shared source deduplicated', solve({'m': ['x', 'y'], 'x': ['a'], 'y': ['a']}, 'm'), ['a'])\ncheck('direct merge', solve({'m': ['b', 'a']}, 'm'), ['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":"8cf31cfa75d5958a8e19ab85a7a25310b72f9fc611cfed23f4b37783e62da6d0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(parents, lot):\n    while parents.get(lot): lot = parents[lot][0]\n    return [lot]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\np = {str(i): [str(i-1)] for i in range(1, N+1)}\np['blend'] = [str(N), 'b']\ncheck('both upstream branches', solve(p, 'blend'), ['0', 'b'])\ncheck('chain source', solve(p, str(N)), ['0'])\ncheck('unmapped source', solve(p, 'b'), ['b'])\ncheck('explicit source', solve({'a': []}, 'a'), ['a'])\ncheck('shared source deduplicated', solve({'m': ['x', 'y'], 'x': ['a'], 'y': ['a']}, 'm'), ['a'])\ncheck('direct merge', solve({'m': ['b', 'a']}, 'm'), ['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":"Offline policy model only; no physical equipment, regulatory certification, or concurrent transaction claims. 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-manufacturing-merge-genealogy","generated_at":"2026-09-29T14:38:56.183650+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic manufacturing record model isolates this workflow defect before equipment or enterprise integration.","root_cause":"The genealogy projection follows only the first parent of a blended lot.","sha256":"e4da1a7edffb26fd092fb6fa61f375b18e6762df4e51fb833e725a77f94f2dc3","title":"Merged lot genealogy loses one input branch · 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":38.55,"exit_code":1,"observations":[{"actual":["1","b"],"check":"both upstream branches","expected":["0","b"],"passed":false},{"actual":["0"],"check":"chain source","expected":["0"],"passed":true},{"actual":["b"],"check":"unmapped source","expected":["b"],"passed":true},{"actual":["a"],"check":"explicit source","expected":["a"],"passed":true},{"actual":["x","y"],"check":"shared source deduplicated","expected":["a"],"passed":false},{"actual":["a","b"],"check":"direct merge","expected":["a","b"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"both upstream branches\", \"actual\": [\"1\", \"b\"], \"expected\": [\"0\", \"b\"], \"passed\": false}, {\"check\": \"chain source\", \"actual\": [\"0\"], \"expected\": [\"0\"], \"passed\": true}, {\"check\": \"unmapped source\", \"actual\": [\"b\"], \"expected\": [\"b\"], \"passed\": true}, {\"check\": \"explicit source\", \"actual\": [\"a\"], \"expected\": [\"a\"], \"passed\": true}, {\"check\": \"shared source deduplicated\", \"actual\": [\"x\", \"y\"], \"expected\": [\"a\"], \"passed\": false}, {\"check\": \"direct merge\", \"actual\": [\"a\", \"b\"], \"expected\": [\"a\", \"b\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.884,"exit_code":1,"observations":[{"actual":["0"],"check":"both upstream branches","expected":["0","b"],"passed":false},{"actual":["0"],"check":"chain source","expected":["0"],"passed":true},{"actual":["b"],"check":"unmapped source","expected":["b"],"passed":true},{"actual":["a"],"check":"explicit source","expected":["a"],"passed":true},{"actual":["a"],"check":"shared source deduplicated","expected":["a"],"passed":true},{"actual":["b"],"check":"direct merge","expected":["a","b"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"both upstream branches\", \"actual\": [\"0\"], \"expected\": [\"0\", \"b\"], \"passed\": false}, {\"check\": \"chain source\", \"actual\": [\"0\"], \"expected\": [\"0\"], \"passed\": true}, {\"check\": \"unmapped source\", \"actual\": [\"b\"], \"expected\": [\"b\"], \"passed\": true}, {\"check\": \"explicit source\", \"actual\": [\"a\"], \"expected\": [\"a\"], \"passed\": true}, {\"check\": \"shared source deduplicated\", \"actual\": [\"a\"], \"expected\": [\"a\"], \"passed\": true}, {\"check\": \"direct merge\", \"actual\": [\"b\"], \"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."}}