{"abstract":"Color-key transparency is ignored during RGBA conversion.","category":"Color encoding","checks":4,"contract":"For straight RGB bytes, matching all three color-key channels sets alpha to zero; other pixels retain supplied alpha.","contract_signature":"rgb, key, alpha","evaluation_group":"xg-color-key-before-opacity","failed_approach":"Matching any component makes unrelated colors transparent.","family":"xg-color-key-before-opacity","id":"FA-10636","implementations":{"attempt":{"sha256":"df04f2c4fc8f0dfa3d65b0dfdf5290fcfcdaed7ce0013101915de6dc84e147e9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(rgb, key, alpha):\n    return list(rgb)+[0 if any(a==b for a,b in zip(rgb,key)) else alpha]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1', solve(*([1, 2, 3], [1, 2, 3], 255)), [1, 2, 3, 0])\ncheck('fixture 2', solve(*([1, 2, 4], [1, 2, 3], 128)), [1, 2, 4, 128])\ncheck('fixture 3', solve(*([0, 0, 0], [1, 2, 3], 0)), [0, 0, 0, 0])\ncheck('fixture 4', solve(*([9, 8, 7], [1, 2, 3], 255)), [9, 8, 7, 255])\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":"76cc8665a03a7b4ed6ad3c4f10703b83157fc5bffdaadc3c8ae76a7195dfaa47","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(rgb, key, alpha):\n    return list(rgb)+[alpha]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1', solve(*([1, 2, 3], [1, 2, 3], 255)), [1, 2, 3, 0])\ncheck('fixture 2', solve(*([1, 2, 4], [1, 2, 3], 128)), [1, 2, 4, 128])\ncheck('fixture 3', solve(*([0, 0, 0], [1, 2, 3], 0)), [0, 0, 0, 0])\ncheck('fixture 4', solve(*([9, 8, 7], [1, 2, 3], 255)), [9, 8, 7, 255])\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":"xg-color-key-before-opacity","generated_at":"2026-09-29T14:38:40.800379+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic software graphics stage with explicit channel and coordinate conventions; no hardware, device profile or API behavior is inferred.","root_cause":"Color-key transparency is ignored during RGBA conversion.","sha256":"73c55e530cf0217510597971bc3430a0fb374d6651a834d12db15b633d1cb8d0","title":"Color key before opacity · 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.5,"exit_code":1,"observations":[{"actual":[1,2,3,0],"check":"fixture 1","expected":[1,2,3,0],"passed":true},{"actual":[1,2,4,0],"check":"fixture 2","expected":[1,2,4,128],"passed":false},{"actual":[0,0,0,0],"check":"fixture 3","expected":[0,0,0,0],"passed":true},{"actual":[9,8,7,255],"check":"fixture 4","expected":[9,8,7,255],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": [1, 2, 3, 0], \"expected\": [1, 2, 3, 0], \"passed\": true}, {\"check\": \"fixture 2\", \"actual\": [1, 2, 4, 0], \"expected\": [1, 2, 4, 128], \"passed\": false}, {\"check\": \"fixture 3\", \"actual\": [0, 0, 0, 0], \"expected\": [0, 0, 0, 0], \"passed\": true}, {\"check\": \"fixture 4\", \"actual\": [9, 8, 7, 255], \"expected\": [9, 8, 7, 255], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.342,"exit_code":1,"observations":[{"actual":[1,2,3,255],"check":"fixture 1","expected":[1,2,3,0],"passed":false},{"actual":[1,2,4,128],"check":"fixture 2","expected":[1,2,4,128],"passed":true},{"actual":[0,0,0,0],"check":"fixture 3","expected":[0,0,0,0],"passed":true},{"actual":[9,8,7,255],"check":"fixture 4","expected":[9,8,7,255],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": [1, 2, 3, 255], \"expected\": [1, 2, 3, 0], \"passed\": false}, {\"check\": \"fixture 2\", \"actual\": [1, 2, 4, 128], \"expected\": [1, 2, 4, 128], \"passed\": true}, {\"check\": \"fixture 3\", \"actual\": [0, 0, 0, 0], \"expected\": [0, 0, 0, 0], \"passed\": true}, {\"check\": \"fixture 4\", \"actual\": [9, 8, 7, 255], \"expected\": [9, 8, 7, 255], \"passed\": true}], \"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."}}