{"abstract":"Alias migration erases unrelated settings.","category":"Configuration","checks":7,"contract":"Copy canonical values; map alias values only when canonical is absent, remove alias keys, preserve unrelated options, and report conflicts where alias and canonical differ.","evaluation_group":"xt-option-alias","failed_approach":"The attempted repair substitutes result = {k:v for k,v in config.items() if k in aliases}. Fixture 3 still yields ({}, ['new']) instead of ({'new': 2}, ['new']).","family":"xt-option-alias-unrelated-settings","id":"FA-9731","implementations":{"attempt":{"sha256":"2d47110bf3df3692e35009478f2d641e48a8e4edfef8fe435f834bde906341c0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(config, aliases):\n    result = {k:v for k,v in config.items() if k in aliases}\n    conflicts = []\n    for alias, canonical in aliases.items():\n        if alias not in config: continue\n        if canonical in config and config[canonical] != config[alias]: conflicts.append(canonical)\n        if canonical not in config: result[canonical] = config[alias]\n        result.pop(alias, None)\n    return (result, sorted(set(conflicts)))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1', solve({}, {}), ({}, []))\ncheck('fixture 2', solve({'old': 1}, {'old': 'new'}), ({'new': 1}, []))\ncheck('fixture 3', solve({'old': 1, 'new': 2}, {'old': 'new'}), ({'new': 2}, ['new']))\ncheck('fixture 4', solve({'old': 1, 'new': 1}, {'old': 'new'}), ({'new': 1}, []))\ncheck('fixture 5', solve({'x': 3}, {'old': 'new'}), ({'x': 3}, []))\ncheck('fixture 6', solve({'old': False}, {'old': 'new'}), ({'new': False}, []))\ncheck('fixture 7', solve({'a': 1, 'b': 2, 'new': 3}, {'a': 'new', 'b': 'new'}), ({'new': 3}, ['new']))\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":"927adf9de95bc038df0d80a50afc47e50837c628826ce997aa0b762b5074a2f8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(config, aliases):\n    result = {}\n    conflicts = []\n    for alias, canonical in aliases.items():\n        if alias not in config: continue\n        if canonical in config and config[canonical] != config[alias]: conflicts.append(canonical)\n        if canonical not in config: result[canonical] = config[alias]\n        result.pop(alias, None)\n    return (result, sorted(set(conflicts)))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1', solve({}, {}), ({}, []))\ncheck('fixture 2', solve({'old': 1}, {'old': 'new'}), ({'new': 1}, []))\ncheck('fixture 3', solve({'old': 1, 'new': 2}, {'old': 'new'}), ({'new': 2}, ['new']))\ncheck('fixture 4', solve({'old': 1, 'new': 1}, {'old': 'new'}), ({'new': 1}, []))\ncheck('fixture 5', solve({'x': 3}, {'old': 'new'}), ({'x': 3}, []))\ncheck('fixture 6', solve({'old': False}, {'old': 'new'}), ({'new': False}, []))\ncheck('fixture 7', solve({'a': 1, 'b': 2, 'new': 3}, {'a': 'new', 'b': 'new'}), ({'new': 3}, ['new']))\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":"99838e159b19b23ef25e4931d324891ace49bf9cf3026846ffad4767301e2150","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(config, aliases):\n    result = dict(config)\n    conflicts = []\n    for alias, canonical in aliases.items():\n        if alias not in config: continue\n        if canonical in config and config[canonical] != config[alias]: conflicts.append(canonical)\n        if canonical not in config: result[canonical] = config[alias]\n        result.pop(alias, None)\n    return (result, sorted(set(conflicts)))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1', solve({}, {}), ({}, []))\ncheck('fixture 2', solve({'old': 1}, {'old': 'new'}), ({'new': 1}, []))\ncheck('fixture 3', solve({'old': 1, 'new': 2}, {'old': 'new'}), ({'new': 2}, ['new']))\ncheck('fixture 4', solve({'old': 1, 'new': 1}, {'old': 'new'}), ({'new': 1}, []))\ncheck('fixture 5', solve({'x': 3}, {'old': 'new'}), ({'x': 3}, []))\ncheck('fixture 6', solve({'old': False}, {'old': 'new'}), ({'new': False}, []))\ncheck('fixture 7', solve({'a': 1, 'b': 2, 'new': 3}, {'a': 'new', 'b': 'new'}), ({'new': 3}, ['new']))\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":" 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":"xt-option-alias-unrelated-settings","generated_at":"2026-09-29T14:38:32.594853+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"An offline model of deprecated option alias migration, suitable for testing build and release tooling without external services.","repair":"Start from the complete original configuration.","root_cause":"The implementation substitutes result = {} for result = dict(config), so alias migration erases unrelated settings.","sha256":"d05575f28c94a6c02bf8ab56a5a086ea781f113e44066f850f7749730ccfc0b5","title":"Deprecated option alias migration: Alias migration erases unrelated settings · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.652,"exit_code":1,"observations":[{"actual":[{},[]],"check":"fixture 1","expected":[{},[]],"passed":true},{"actual":[{"new":1},[]],"check":"fixture 2","expected":[{"new":1},[]],"passed":true},{"actual":[{},["new"]],"check":"fixture 3","expected":[{"new":2},["new"]],"passed":false},{"actual":[{},[]],"check":"fixture 4","expected":[{"new":1},[]],"passed":false},{"actual":[{},[]],"check":"fixture 5","expected":[{"x":3},[]],"passed":false},{"actual":[{"new":false},[]],"check":"fixture 6","expected":[{"new":false},[]],"passed":true},{"actual":[{},["new"]],"check":"fixture 7","expected":[{"new":3},["new"]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": [{}, []], \"expected\": [{}, []], \"passed\": true}, {\"check\": \"fixture 2\", \"actual\": [{\"new\": 1}, []], \"expected\": [{\"new\": 1}, []], \"passed\": true}, {\"check\": \"fixture 3\", \"actual\": [{}, [\"new\"]], \"expected\": [{\"new\": 2}, [\"new\"]], \"passed\": false}, {\"check\": \"fixture 4\", \"actual\": [{}, []], \"expected\": [{\"new\": 1}, []], \"passed\": false}, {\"check\": \"fixture 5\", \"actual\": [{}, []], \"expected\": [{\"x\": 3}, []], \"passed\": false}, {\"check\": \"fixture 6\", \"actual\": [{\"new\": false}, []], \"expected\": [{\"new\": false}, []], \"passed\": true}, {\"check\": \"fixture 7\", \"actual\": [{}, [\"new\"]], \"expected\": [{\"new\": 3}, [\"new\"]], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":53.693,"exit_code":1,"observations":[{"actual":[{},[]],"check":"fixture 1","expected":[{},[]],"passed":true},{"actual":[{"new":1},[]],"check":"fixture 2","expected":[{"new":1},[]],"passed":true},{"actual":[{},["new"]],"check":"fixture 3","expected":[{"new":2},["new"]],"passed":false},{"actual":[{},[]],"check":"fixture 4","expected":[{"new":1},[]],"passed":false},{"actual":[{},[]],"check":"fixture 5","expected":[{"x":3},[]],"passed":false},{"actual":[{"new":false},[]],"check":"fixture 6","expected":[{"new":false},[]],"passed":true},{"actual":[{},["new"]],"check":"fixture 7","expected":[{"new":3},["new"]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": [{}, []], \"expected\": [{}, []], \"passed\": true}, {\"check\": \"fixture 2\", \"actual\": [{\"new\": 1}, []], \"expected\": [{\"new\": 1}, []], \"passed\": true}, {\"check\": \"fixture 3\", \"actual\": [{}, [\"new\"]], \"expected\": [{\"new\": 2}, [\"new\"]], \"passed\": false}, {\"check\": \"fixture 4\", \"actual\": [{}, []], \"expected\": [{\"new\": 1}, []], \"passed\": false}, {\"check\": \"fixture 5\", \"actual\": [{}, []], \"expected\": [{\"x\": 3}, []], \"passed\": false}, {\"check\": \"fixture 6\", \"actual\": [{\"new\": false}, []], \"expected\": [{\"new\": false}, []], \"passed\": true}, {\"check\": \"fixture 7\", \"actual\": [{}, [\"new\"]], \"expected\": [{\"new\": 3}, [\"new\"]], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.598,"exit_code":0,"observations":[{"actual":[{},[]],"check":"fixture 1","expected":[{},[]],"passed":true},{"actual":[{"new":1},[]],"check":"fixture 2","expected":[{"new":1},[]],"passed":true},{"actual":[{"new":2},["new"]],"check":"fixture 3","expected":[{"new":2},["new"]],"passed":true},{"actual":[{"new":1},[]],"check":"fixture 4","expected":[{"new":1},[]],"passed":true},{"actual":[{"x":3},[]],"check":"fixture 5","expected":[{"x":3},[]],"passed":true},{"actual":[{"new":false},[]],"check":"fixture 6","expected":[{"new":false},[]],"passed":true},{"actual":[{"new":3},["new"]],"check":"fixture 7","expected":[{"new":3},["new"]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": [{}, []], \"expected\": [{}, []], \"passed\": true}, {\"check\": \"fixture 2\", \"actual\": [{\"new\": 1}, []], \"expected\": [{\"new\": 1}, []], \"passed\": true}, {\"check\": \"fixture 3\", \"actual\": [{\"new\": 2}, [\"new\"]], \"expected\": [{\"new\": 2}, [\"new\"]], \"passed\": true}, {\"check\": \"fixture 4\", \"actual\": [{\"new\": 1}, []], \"expected\": [{\"new\": 1}, []], \"passed\": true}, {\"check\": \"fixture 5\", \"actual\": [{\"x\": 3}, []], \"expected\": [{\"x\": 3}, []], \"passed\": true}, {\"check\": \"fixture 6\", \"actual\": [{\"new\": false}, []], \"expected\": [{\"new\": false}, []], \"passed\": true}, {\"check\": \"fixture 7\", \"actual\": [{\"new\": 3}, [\"new\"]], \"expected\": [{\"new\": 3}, [\"new\"]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}