{"abstract":"MERGE preflight rejects duplicates only for keys already in target.","category":"Data systems","checks":7,"contract":"Merge source [key,value] into a target unique-key table. Any repeated source key is CARDINALITY and leaves target unchanged; otherwise matched keys replace payloads and unmatched keys insert. Return status and sorted final rows. Source null keys are ordinary distinct keys in this stipulated integer-key model only (inputs here are integer keys).","evaluation_group":"s3-data-systems-merge-statement-preflight","failed_approach":"Allowing two copies still permits a cardinality violation.","family":"s3-data-systems-merge-statement-preflight-matched-only-preflight","id":"FA-45396","implementations":{"attempt":{"sha256":"bd0c3ba88555d821c602e99628e64de2ce840c4ad573ee254553ffc69806c8b9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        target,source=d\n        state=dict(target)\n        keys=[k for k,v in source]\n        if any(keys.count(k)>2 for k in keys): return ['CARDINALITY',sorted(target)]\n        for key,value in source:\n            state[key]=value\n        return ['OK',sorted([[k,v] for k,v in state.items()])]\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('matched update', solve([[[10, 1]], [[10, 2]]]), ['OK', [[10, 2]]])\n    check('unmatched insert', solve([[[10, 1]], [[11, 2]]]), ['OK', [[10, 1], [11, 2]]])\n    check('new duplicate keys', solve([[], [[10, 1], [10, 2]]]), ['CARDINALITY', []])\n    check('existing duplicate keys', solve([[[10, 1]], [[10, 2], [10, 3]]]), ['CARDINALITY', [[10, 1]]])\n    check('duplicate payload not key', solve([[], [[10, 1], [11, 1]]]), ['OK', [[10, 1], [11, 1]]])\n    check('empty source', solve([[[10, 1]], []]), ['OK', [[10, 1]]])\n    check('empty target', solve([[], [[10, 1]]]), ['OK', [[10, 1]]])\nelif N == 2:\n    check('matched update', solve([[[10, 2]], [[10, 3]]]), ['OK', [[10, 3]]])\n    check('unmatched insert', solve([[[10, 2]], [[11, 3]]]), ['OK', [[10, 2], [11, 3]]])\n    check('new duplicate keys', solve([[], [[10, 2], [10, 3]]]), ['CARDINALITY', []])\n    check('existing duplicate keys', solve([[[10, 2]], [[10, 3], [10, 4]]]), ['CARDINALITY', [[10, 2]]])\n    check('duplicate payload not key', solve([[], [[10, 2], [11, 2]]]), ['OK', [[10, 2], [11, 2]]])\n    check('empty source', solve([[[10, 2]], []]), ['OK', [[10, 2]]])\n    check('empty target', solve([[], [[10, 2]]]), ['OK', [[10, 2]]])\nelif N == 3:\n    check('matched update', solve([[[10, 3]], [[10, 4]]]), ['OK', [[10, 4]]])\n    check('unmatched insert', solve([[[10, 3]], [[11, 4]]]), ['OK', [[10, 3], [11, 4]]])\n    check('new duplicate keys', solve([[], [[10, 3], [10, 4]]]), ['CARDINALITY', []])\n    check('existing duplicate keys', solve([[[10, 3]], [[10, 4], [10, 5]]]), ['CARDINALITY', [[10, 3]]])\n    check('duplicate payload not key', solve([[], [[10, 3], [11, 3]]]), ['OK', [[10, 3], [11, 3]]])\n    check('empty source', solve([[[10, 3]], []]), ['OK', [[10, 3]]])\n    check('empty target', solve([[], [[10, 3]]]), ['OK', [[10, 3]]])\nelif N == 4:\n    check('matched update', solve([[[10, 4]], [[10, 5]]]), ['OK', [[10, 5]]])\n    check('unmatched insert', solve([[[10, 4]], [[11, 5]]]), ['OK', [[10, 4], [11, 5]]])\n    check('new duplicate keys', solve([[], [[10, 4], [10, 5]]]), ['CARDINALITY', []])\n    check('existing duplicate keys', solve([[[10, 4]], [[10, 5], [10, 6]]]), ['CARDINALITY', [[10, 4]]])\n    check('duplicate payload not key', solve([[], [[10, 4], [11, 4]]]), ['OK', [[10, 4], [11, 4]]])\n    check('empty source', solve([[[10, 4]], []]), ['OK', [[10, 4]]])\n    check('empty target', solve([[], [[10, 4]]]), ['OK', [[10, 4]]])\nelif N == 5:\n    check('matched update', solve([[[10, 5]], [[10, 6]]]), ['OK', [[10, 6]]])\n    check('unmatched insert', solve([[[10, 5]], [[11, 6]]]), ['OK', [[10, 5], [11, 6]]])\n    check('new duplicate keys', solve([[], [[10, 5], [10, 6]]]), ['CARDINALITY', []])\n    check('existing duplicate keys', solve([[[10, 5]], [[10, 6], [10, 7]]]), ['CARDINALITY', [[10, 5]]])\n    check('duplicate payload not key', solve([[], [[10, 5], [11, 5]]]), ['OK', [[10, 5], [11, 5]]])\n    check('empty source', solve([[[10, 5]], []]), ['OK', [[10, 5]]])\n    check('empty target', solve([[], [[10, 5]]]), ['OK', [[10, 5]]])\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":"3c4f5ac972790f3510c8360982e2712f6d6c1ad29f0b63e3ae50ba25dbd6ec4c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        target,source=d\n        state=dict(target)\n        keys=[k for k,v in source]\n        if any(keys.count(k)>1 and k in state for k in keys): return ['CARDINALITY',sorted(target)]\n        for key,value in source:\n            state[key]=value\n        return ['OK',sorted([[k,v] for k,v in state.items()])]\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('matched update', solve([[[10, 1]], [[10, 2]]]), ['OK', [[10, 2]]])\n    check('unmatched insert', solve([[[10, 1]], [[11, 2]]]), ['OK', [[10, 1], [11, 2]]])\n    check('new duplicate keys', solve([[], [[10, 1], [10, 2]]]), ['CARDINALITY', []])\n    check('existing duplicate keys', solve([[[10, 1]], [[10, 2], [10, 3]]]), ['CARDINALITY', [[10, 1]]])\n    check('duplicate payload not key', solve([[], [[10, 1], [11, 1]]]), ['OK', [[10, 1], [11, 1]]])\n    check('empty source', solve([[[10, 1]], []]), ['OK', [[10, 1]]])\n    check('empty target', solve([[], [[10, 1]]]), ['OK', [[10, 1]]])\nelif N == 2:\n    check('matched update', solve([[[10, 2]], [[10, 3]]]), ['OK', [[10, 3]]])\n    check('unmatched insert', solve([[[10, 2]], [[11, 3]]]), ['OK', [[10, 2], [11, 3]]])\n    check('new duplicate keys', solve([[], [[10, 2], [10, 3]]]), ['CARDINALITY', []])\n    check('existing duplicate keys', solve([[[10, 2]], [[10, 3], [10, 4]]]), ['CARDINALITY', [[10, 2]]])\n    check('duplicate payload not key', solve([[], [[10, 2], [11, 2]]]), ['OK', [[10, 2], [11, 2]]])\n    check('empty source', solve([[[10, 2]], []]), ['OK', [[10, 2]]])\n    check('empty target', solve([[], [[10, 2]]]), ['OK', [[10, 2]]])\nelif N == 3:\n    check('matched update', solve([[[10, 3]], [[10, 4]]]), ['OK', [[10, 4]]])\n    check('unmatched insert', solve([[[10, 3]], [[11, 4]]]), ['OK', [[10, 3], [11, 4]]])\n    check('new duplicate keys', solve([[], [[10, 3], [10, 4]]]), ['CARDINALITY', []])\n    check('existing duplicate keys', solve([[[10, 3]], [[10, 4], [10, 5]]]), ['CARDINALITY', [[10, 3]]])\n    check('duplicate payload not key', solve([[], [[10, 3], [11, 3]]]), ['OK', [[10, 3], [11, 3]]])\n    check('empty source', solve([[[10, 3]], []]), ['OK', [[10, 3]]])\n    check('empty target', solve([[], [[10, 3]]]), ['OK', [[10, 3]]])\nelif N == 4:\n    check('matched update', solve([[[10, 4]], [[10, 5]]]), ['OK', [[10, 5]]])\n    check('unmatched insert', solve([[[10, 4]], [[11, 5]]]), ['OK', [[10, 4], [11, 5]]])\n    check('new duplicate keys', solve([[], [[10, 4], [10, 5]]]), ['CARDINALITY', []])\n    check('existing duplicate keys', solve([[[10, 4]], [[10, 5], [10, 6]]]), ['CARDINALITY', [[10, 4]]])\n    check('duplicate payload not key', solve([[], [[10, 4], [11, 4]]]), ['OK', [[10, 4], [11, 4]]])\n    check('empty source', solve([[[10, 4]], []]), ['OK', [[10, 4]]])\n    check('empty target', solve([[], [[10, 4]]]), ['OK', [[10, 4]]])\nelif N == 5:\n    check('matched update', solve([[[10, 5]], [[10, 6]]]), ['OK', [[10, 6]]])\n    check('unmatched insert', solve([[[10, 5]], [[11, 6]]]), ['OK', [[10, 5], [11, 6]]])\n    check('new duplicate keys', solve([[], [[10, 5], [10, 6]]]), ['CARDINALITY', []])\n    check('existing duplicate keys', solve([[[10, 5]], [[10, 6], [10, 7]]]), ['CARDINALITY', [[10, 5]]])\n    check('duplicate payload not key', solve([[], [[10, 5], [11, 5]]]), ['OK', [[10, 5], [11, 5]]])\n    check('empty source', solve([[[10, 5]], []]), ['OK', [[10, 5]]])\n    check('empty target', solve([[], [[10, 5]]]), ['OK', [[10, 5]]])\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":"274dd6ded9120359afa14a1dc5f6c57a09b8478baaecd9c92eb041cdfb6276c9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        target,source=d\n        state=dict(target)\n        keys=[k for k,v in source]\n        if len(set(keys))!=len(keys): return ['CARDINALITY',sorted(target)]\n        for key,value in source:\n            state[key]=value\n        return ['OK',sorted([[k,v] for k,v in state.items()])]\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('matched update', solve([[[10, 1]], [[10, 2]]]), ['OK', [[10, 2]]])\n    check('unmatched insert', solve([[[10, 1]], [[11, 2]]]), ['OK', [[10, 1], [11, 2]]])\n    check('new duplicate keys', solve([[], [[10, 1], [10, 2]]]), ['CARDINALITY', []])\n    check('existing duplicate keys', solve([[[10, 1]], [[10, 2], [10, 3]]]), ['CARDINALITY', [[10, 1]]])\n    check('duplicate payload not key', solve([[], [[10, 1], [11, 1]]]), ['OK', [[10, 1], [11, 1]]])\n    check('empty source', solve([[[10, 1]], []]), ['OK', [[10, 1]]])\n    check('empty target', solve([[], [[10, 1]]]), ['OK', [[10, 1]]])\nelif N == 2:\n    check('matched update', solve([[[10, 2]], [[10, 3]]]), ['OK', [[10, 3]]])\n    check('unmatched insert', solve([[[10, 2]], [[11, 3]]]), ['OK', [[10, 2], [11, 3]]])\n    check('new duplicate keys', solve([[], [[10, 2], [10, 3]]]), ['CARDINALITY', []])\n    check('existing duplicate keys', solve([[[10, 2]], [[10, 3], [10, 4]]]), ['CARDINALITY', [[10, 2]]])\n    check('duplicate payload not key', solve([[], [[10, 2], [11, 2]]]), ['OK', [[10, 2], [11, 2]]])\n    check('empty source', solve([[[10, 2]], []]), ['OK', [[10, 2]]])\n    check('empty target', solve([[], [[10, 2]]]), ['OK', [[10, 2]]])\nelif N == 3:\n    check('matched update', solve([[[10, 3]], [[10, 4]]]), ['OK', [[10, 4]]])\n    check('unmatched insert', solve([[[10, 3]], [[11, 4]]]), ['OK', [[10, 3], [11, 4]]])\n    check('new duplicate keys', solve([[], [[10, 3], [10, 4]]]), ['CARDINALITY', []])\n    check('existing duplicate keys', solve([[[10, 3]], [[10, 4], [10, 5]]]), ['CARDINALITY', [[10, 3]]])\n    check('duplicate payload not key', solve([[], [[10, 3], [11, 3]]]), ['OK', [[10, 3], [11, 3]]])\n    check('empty source', solve([[[10, 3]], []]), ['OK', [[10, 3]]])\n    check('empty target', solve([[], [[10, 3]]]), ['OK', [[10, 3]]])\nelif N == 4:\n    check('matched update', solve([[[10, 4]], [[10, 5]]]), ['OK', [[10, 5]]])\n    check('unmatched insert', solve([[[10, 4]], [[11, 5]]]), ['OK', [[10, 4], [11, 5]]])\n    check('new duplicate keys', solve([[], [[10, 4], [10, 5]]]), ['CARDINALITY', []])\n    check('existing duplicate keys', solve([[[10, 4]], [[10, 5], [10, 6]]]), ['CARDINALITY', [[10, 4]]])\n    check('duplicate payload not key', solve([[], [[10, 4], [11, 4]]]), ['OK', [[10, 4], [11, 4]]])\n    check('empty source', solve([[[10, 4]], []]), ['OK', [[10, 4]]])\n    check('empty target', solve([[], [[10, 4]]]), ['OK', [[10, 4]]])\nelif N == 5:\n    check('matched update', solve([[[10, 5]], [[10, 6]]]), ['OK', [[10, 6]]])\n    check('unmatched insert', solve([[[10, 5]], [[11, 6]]]), ['OK', [[10, 5], [11, 6]]])\n    check('new duplicate keys', solve([[], [[10, 5], [10, 6]]]), ['CARDINALITY', []])\n    check('existing duplicate keys', solve([[[10, 5]], [[10, 6], [10, 7]]]), ['CARDINALITY', [[10, 5]]])\n    check('duplicate payload not key', solve([[], [[10, 5], [11, 5]]]), ['OK', [[10, 5], [11, 5]]])\n    check('empty source', solve([[[10, 5]], []]), ['OK', [[10, 5]]])\n    check('empty target', solve([[], [[10, 5]]]), ['OK', [[10, 5]]])\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 stipulated semantics over valid small inputs; no performance, concurrency, or production-engine conformance claim. 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":"s3-data-systems-merge-statement-preflight-matched-only-preflight","generated_at":"2026-09-29T14:44:21.790032+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A bounded deterministic data engine model makes representation and changelog faults reproducible.","repair":"Preserve the stated physical representation and operation order: Merge source [key,value] into a target unique-key table. Any repeated source key is CARDINALITY and leaves target unchanged; otherwise matched keys replace payloads and unmatched keys insert. Return status and sorted final rows. Source null keys are ordinary distinct keys in this stipulated integer-key model only (inputs here are integer keys).","root_cause":"merge-statement-preflight: MERGE preflight rejects duplicates only for keys already in target.","sha256":"a2f7f1dc01f956661f113d0dba8feb1d577cb3a4ea160d6a1197046efd13e3d4","title":"MERGE preflight rejects duplicates only for keys already in target · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.6,"exit_code":1,"observations":[{"actual":["OK",[[10,2]]],"check":"matched update","expected":["OK",[[10,2]]],"passed":true},{"actual":["OK",[[10,1],[11,2]]],"check":"unmatched insert","expected":["OK",[[10,1],[11,2]]],"passed":true},{"actual":["OK",[[10,2]]],"check":"new duplicate keys","expected":["CARDINALITY",[]],"passed":false},{"actual":["OK",[[10,3]]],"check":"existing duplicate keys","expected":["CARDINALITY",[[10,1]]],"passed":false},{"actual":["OK",[[10,1],[11,1]]],"check":"duplicate payload not key","expected":["OK",[[10,1],[11,1]]],"passed":true},{"actual":["OK",[[10,1]]],"check":"empty source","expected":["OK",[[10,1]]],"passed":true},{"actual":["OK",[[10,1]]],"check":"empty target","expected":["OK",[[10,1]]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"matched update\", \"actual\": [\"OK\", [[10, 2]]], \"expected\": [\"OK\", [[10, 2]]], \"passed\": true}, {\"check\": \"unmatched insert\", \"actual\": [\"OK\", [[10, 1], [11, 2]]], \"expected\": [\"OK\", [[10, 1], [11, 2]]], \"passed\": true}, {\"check\": \"new duplicate keys\", \"actual\": [\"OK\", [[10, 2]]], \"expected\": [\"CARDINALITY\", []], \"passed\": false}, {\"check\": \"existing duplicate keys\", \"actual\": [\"OK\", [[10, 3]]], \"expected\": [\"CARDINALITY\", [[10, 1]]], \"passed\": false}, {\"check\": \"duplicate payload not key\", \"actual\": [\"OK\", [[10, 1], [11, 1]]], \"expected\": [\"OK\", [[10, 1], [11, 1]]], \"passed\": true}, {\"check\": \"empty source\", \"actual\": [\"OK\", [[10, 1]]], \"expected\": [\"OK\", [[10, 1]]], \"passed\": true}, {\"check\": \"empty target\", \"actual\": [\"OK\", [[10, 1]]], \"expected\": [\"OK\", [[10, 1]]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":45.443,"exit_code":1,"observations":[{"actual":["OK",[[10,2]]],"check":"matched update","expected":["OK",[[10,2]]],"passed":true},{"actual":["OK",[[10,1],[11,2]]],"check":"unmatched insert","expected":["OK",[[10,1],[11,2]]],"passed":true},{"actual":["OK",[[10,2]]],"check":"new duplicate keys","expected":["CARDINALITY",[]],"passed":false},{"actual":["CARDINALITY",[[10,1]]],"check":"existing duplicate keys","expected":["CARDINALITY",[[10,1]]],"passed":true},{"actual":["OK",[[10,1],[11,1]]],"check":"duplicate payload not key","expected":["OK",[[10,1],[11,1]]],"passed":true},{"actual":["OK",[[10,1]]],"check":"empty source","expected":["OK",[[10,1]]],"passed":true},{"actual":["OK",[[10,1]]],"check":"empty target","expected":["OK",[[10,1]]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"matched update\", \"actual\": [\"OK\", [[10, 2]]], \"expected\": [\"OK\", [[10, 2]]], \"passed\": true}, {\"check\": \"unmatched insert\", \"actual\": [\"OK\", [[10, 1], [11, 2]]], \"expected\": [\"OK\", [[10, 1], [11, 2]]], \"passed\": true}, {\"check\": \"new duplicate keys\", \"actual\": [\"OK\", [[10, 2]]], \"expected\": [\"CARDINALITY\", []], \"passed\": false}, {\"check\": \"existing duplicate keys\", \"actual\": [\"CARDINALITY\", [[10, 1]]], \"expected\": [\"CARDINALITY\", [[10, 1]]], \"passed\": true}, {\"check\": \"duplicate payload not key\", \"actual\": [\"OK\", [[10, 1], [11, 1]]], \"expected\": [\"OK\", [[10, 1], [11, 1]]], \"passed\": true}, {\"check\": \"empty source\", \"actual\": [\"OK\", [[10, 1]]], \"expected\": [\"OK\", [[10, 1]]], \"passed\": true}, {\"check\": \"empty target\", \"actual\": [\"OK\", [[10, 1]]], \"expected\": [\"OK\", [[10, 1]]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":45.465,"exit_code":0,"observations":[{"actual":["OK",[[10,2]]],"check":"matched update","expected":["OK",[[10,2]]],"passed":true},{"actual":["OK",[[10,1],[11,2]]],"check":"unmatched insert","expected":["OK",[[10,1],[11,2]]],"passed":true},{"actual":["CARDINALITY",[]],"check":"new duplicate keys","expected":["CARDINALITY",[]],"passed":true},{"actual":["CARDINALITY",[[10,1]]],"check":"existing duplicate keys","expected":["CARDINALITY",[[10,1]]],"passed":true},{"actual":["OK",[[10,1],[11,1]]],"check":"duplicate payload not key","expected":["OK",[[10,1],[11,1]]],"passed":true},{"actual":["OK",[[10,1]]],"check":"empty source","expected":["OK",[[10,1]]],"passed":true},{"actual":["OK",[[10,1]]],"check":"empty target","expected":["OK",[[10,1]]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"matched update\", \"actual\": [\"OK\", [[10, 2]]], \"expected\": [\"OK\", [[10, 2]]], \"passed\": true}, {\"check\": \"unmatched insert\", \"actual\": [\"OK\", [[10, 1], [11, 2]]], \"expected\": [\"OK\", [[10, 1], [11, 2]]], \"passed\": true}, {\"check\": \"new duplicate keys\", \"actual\": [\"CARDINALITY\", []], \"expected\": [\"CARDINALITY\", []], \"passed\": true}, {\"check\": \"existing duplicate keys\", \"actual\": [\"CARDINALITY\", [[10, 1]]], \"expected\": [\"CARDINALITY\", [[10, 1]]], \"passed\": true}, {\"check\": \"duplicate payload not key\", \"actual\": [\"OK\", [[10, 1], [11, 1]]], \"expected\": [\"OK\", [[10, 1], [11, 1]]], \"passed\": true}, {\"check\": \"empty source\", \"actual\": [\"OK\", [[10, 1]]], \"expected\": [\"OK\", [[10, 1]]], \"passed\": true}, {\"check\": \"empty target\", \"actual\": [\"OK\", [[10, 1]]], \"expected\": [\"OK\", [[10, 1]]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}