{"abstract":"Every level except H decodes as a different level.","category":"Error-correcting codes","checks":8,"contract":"QR code format information, a BCH(15,5) code. \"encode\" takes [level, mask] with level bits L=01, M=00, Q=11, H=10 and mask 0..7 (else None): data = level<<3 | mask, append the 10-bit remainder of data*x^10 modulo 0x537, then XOR 0x5412. \"decode\" takes a 15-bit integer and returns [level, mask, distance] for the unique format word within Hamming distance 3, else None.","evaluation_group":"w2-error_correcting_codes-qr-format-info","failed_approach":"Swapping L and M but keeping Q=2 and H=3 still mislabels the high levels.","family":"w2-error_correcting_codes-qr-format-info-level-bits","id":"FA-72166","implementations":{"attempt":{"sha256":"59a821936029c53593a035165198b9cb0dfb6cc3b483819f358865595306a069","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(op, x):\n    EC = {'L': 1, 'M': 0, 'Q': 2, 'H': 3}\n    def enc(level, mask):\n        data = (EC[level] << 3) | mask\n        rem = data << 10\n        for i in range(14, 9, -1):\n            if rem & (1 << i):\n                rem ^= 0x537 << (i - 10)\n        return ((data << 10) | rem) ^ 0x5412\n    if op == 'encode':\n        level, mask = x\n        if level not in EC or not 0 <= mask <= 7:\n            return None\n        return enc(level, mask)\n    best = None\n    for level in 'LMQH':\n        for mask in range(8):\n            dist = bin(enc(level, mask) ^ x).count('1')\n            if dist <= 3 and (best is None or dist < best[2]):\n                best = [level, mask, dist]\n    return best\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [\"encode\", [\"L\", 0]]', ['encode', ['L', 0]], 30660], ['regression [\"encode\", [\"L\", 3]]', ['encode', ['L', 3]], 30877], ['partial-repair [\"encode\", [\"Q\", 0]]', ['encode', ['Q', 0]], 13663], ['partial-repair [\"encode\", [\"Q\", 3]]', ['encode', ['Q', 3]], 14854], ['control [\"encode\", [\"X\", 1]]', ['encode', ['X', 1]], None], ['control [\"encode\", [\"L\", 8]]', ['encode', ['L', 8]], None], ['control [\"decode\", 0]', ['decode', 0], None], ['control [\"decode\", 32767]', ['decode', 32767], None]], [['regression [\"encode\", [\"L\", 7]]', ['encode', ['L', 7]], 26998], ['regression [\"encode\", [\"M\", 0]]', ['encode', ['M', 0]], 21522], ['partial-repair [\"encode\", [\"Q\", 7]]', ['encode', ['Q', 7]], 11245], ['partial-repair [\"encode\", [\"H\", 0]]', ['encode', ['H', 0]], 5769], ['control [\"encode\", [\"X\", 1]]', ['encode', ['X', 1]], None], ['control [\"encode\", [\"L\", 8]]', ['encode', ['L', 8]], None], ['control [\"decode\", 0]', ['decode', 0], None], ['control [\"decode\", 32767]', ['decode', 32767], None]], [['regression [\"encode\", [\"M\", 5]]', ['encode', ['M', 5]], 16590], ['regression [\"encode\", [\"M\", 7]]', ['encode', ['M', 7]], 19104], ['partial-repair [\"encode\", [\"H\", 5]]', ['encode', ['H', 5]], 597], ['partial-repair [\"encode\", [\"H\", 7]]', ['encode', ['H', 7]], 2107], ['control [\"encode\", [\"X\", 1]]', ['encode', ['X', 1]], None], ['control [\"encode\", [\"L\", 8]]', ['encode', ['L', 8]], None], ['control [\"decode\", 0]', ['decode', 0], None], ['control [\"decode\", 32767]', ['decode', 32767], None]], [['regression [\"encode\", [\"Q\", 3]]', ['encode', ['Q', 3]], 14854], ['regression [\"encode\", [\"Q\", 5]]', ['encode', ['Q', 5]], 8579], ['partial-repair [\"decode\", 19724]', ['decode', 19724], ['H', 6, 1]], ['partial-repair [\"decode\", 6616]', ['decode', 6616], ['H', 3, 1]], ['control [\"encode\", [\"X\", 1]]', ['encode', ['X', 1]], None], ['control [\"encode\", [\"L\", 8]]', ['encode', ['L', 8]], None], ['control [\"decode\", 0]', ['decode', 0], None], ['control [\"decode\", 32767]', ['decode', 32767], None]], [['regression [\"encode\", [\"H\", 0]]', ['encode', ['H', 0]], 5769], ['regression [\"encode\", [\"H\", 3]]', ['encode', ['H', 3]], 6608], ['partial-repair [\"decode\", 2099]', ['decode', 2099], ['H', 7, 1]], ['partial-repair [\"encode\", [\"Q\", 0]]', ['encode', ['Q', 0]], 13663], ['control [\"encode\", [\"X\", 1]]', ['encode', ['X', 1]], None], ['control [\"encode\", [\"L\", 8]]', ['encode', ['L', 8]], None], ['control [\"decode\", 0]', ['decode', 0], None], ['control [\"decode\", 32767]', ['decode', 32767], None]]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\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":"eea715eaa46adbc669e1f7503c72403ed95385623af0bc388d2ba25fb0402d33","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(op, x):\n    EC = {'L': 0, 'M': 1, 'Q': 2, 'H': 3}\n    def enc(level, mask):\n        data = (EC[level] << 3) | mask\n        rem = data << 10\n        for i in range(14, 9, -1):\n            if rem & (1 << i):\n                rem ^= 0x537 << (i - 10)\n        return ((data << 10) | rem) ^ 0x5412\n    if op == 'encode':\n        level, mask = x\n        if level not in EC or not 0 <= mask <= 7:\n            return None\n        return enc(level, mask)\n    best = None\n    for level in 'LMQH':\n        for mask in range(8):\n            dist = bin(enc(level, mask) ^ x).count('1')\n            if dist <= 3 and (best is None or dist < best[2]):\n                best = [level, mask, dist]\n    return best\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [\"encode\", [\"L\", 0]]', ['encode', ['L', 0]], 30660], ['regression [\"encode\", [\"L\", 3]]', ['encode', ['L', 3]], 30877], ['partial-repair [\"encode\", [\"Q\", 0]]', ['encode', ['Q', 0]], 13663], ['partial-repair [\"encode\", [\"Q\", 3]]', ['encode', ['Q', 3]], 14854], ['control [\"encode\", [\"X\", 1]]', ['encode', ['X', 1]], None], ['control [\"encode\", [\"L\", 8]]', ['encode', ['L', 8]], None], ['control [\"decode\", 0]', ['decode', 0], None], ['control [\"decode\", 32767]', ['decode', 32767], None]], [['regression [\"encode\", [\"L\", 7]]', ['encode', ['L', 7]], 26998], ['regression [\"encode\", [\"M\", 0]]', ['encode', ['M', 0]], 21522], ['partial-repair [\"encode\", [\"Q\", 7]]', ['encode', ['Q', 7]], 11245], ['partial-repair [\"encode\", [\"H\", 0]]', ['encode', ['H', 0]], 5769], ['control [\"encode\", [\"X\", 1]]', ['encode', ['X', 1]], None], ['control [\"encode\", [\"L\", 8]]', ['encode', ['L', 8]], None], ['control [\"decode\", 0]', ['decode', 0], None], ['control [\"decode\", 32767]', ['decode', 32767], None]], [['regression [\"encode\", [\"M\", 5]]', ['encode', ['M', 5]], 16590], ['regression [\"encode\", [\"M\", 7]]', ['encode', ['M', 7]], 19104], ['partial-repair [\"encode\", [\"H\", 5]]', ['encode', ['H', 5]], 597], ['partial-repair [\"encode\", [\"H\", 7]]', ['encode', ['H', 7]], 2107], ['control [\"encode\", [\"X\", 1]]', ['encode', ['X', 1]], None], ['control [\"encode\", [\"L\", 8]]', ['encode', ['L', 8]], None], ['control [\"decode\", 0]', ['decode', 0], None], ['control [\"decode\", 32767]', ['decode', 32767], None]], [['regression [\"encode\", [\"Q\", 3]]', ['encode', ['Q', 3]], 14854], ['regression [\"encode\", [\"Q\", 5]]', ['encode', ['Q', 5]], 8579], ['partial-repair [\"decode\", 19724]', ['decode', 19724], ['H', 6, 1]], ['partial-repair [\"decode\", 6616]', ['decode', 6616], ['H', 3, 1]], ['control [\"encode\", [\"X\", 1]]', ['encode', ['X', 1]], None], ['control [\"encode\", [\"L\", 8]]', ['encode', ['L', 8]], None], ['control [\"decode\", 0]', ['decode', 0], None], ['control [\"decode\", 32767]', ['decode', 32767], None]], [['regression [\"encode\", [\"H\", 0]]', ['encode', ['H', 0]], 5769], ['regression [\"encode\", [\"H\", 3]]', ['encode', ['H', 3]], 6608], ['partial-repair [\"decode\", 2099]', ['decode', 2099], ['H', 7, 1]], ['partial-repair [\"encode\", [\"Q\", 0]]', ['encode', ['Q', 0]], 13663], ['control [\"encode\", [\"X\", 1]]', ['encode', ['X', 1]], None], ['control [\"encode\", [\"L\", 8]]', ['encode', ['L', 8]], None], ['control [\"decode\", 0]', ['decode', 0], None], ['control [\"decode\", 32767]', ['decode', 32767], None]]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\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":"829296a4149dc31ca9887e06c12caeb0f3dd16eb65e15cf2c9b6830b4359d653","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(op, x):\n    EC = {'L': 1, 'M': 0, 'Q': 3, 'H': 2}\n    def enc(level, mask):\n        data = (EC[level] << 3) | mask\n        rem = data << 10\n        for i in range(14, 9, -1):\n            if rem & (1 << i):\n                rem ^= 0x537 << (i - 10)\n        return ((data << 10) | rem) ^ 0x5412\n    if op == 'encode':\n        level, mask = x\n        if level not in EC or not 0 <= mask <= 7:\n            return None\n        return enc(level, mask)\n    best = None\n    for level in 'LMQH':\n        for mask in range(8):\n            dist = bin(enc(level, mask) ^ x).count('1')\n            if dist <= 3 and (best is None or dist < best[2]):\n                best = [level, mask, dist]\n    return best\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [\"encode\", [\"L\", 0]]', ['encode', ['L', 0]], 30660], ['regression [\"encode\", [\"L\", 3]]', ['encode', ['L', 3]], 30877], ['partial-repair [\"encode\", [\"Q\", 0]]', ['encode', ['Q', 0]], 13663], ['partial-repair [\"encode\", [\"Q\", 3]]', ['encode', ['Q', 3]], 14854], ['control [\"encode\", [\"X\", 1]]', ['encode', ['X', 1]], None], ['control [\"encode\", [\"L\", 8]]', ['encode', ['L', 8]], None], ['control [\"decode\", 0]', ['decode', 0], None], ['control [\"decode\", 32767]', ['decode', 32767], None]], [['regression [\"encode\", [\"L\", 7]]', ['encode', ['L', 7]], 26998], ['regression [\"encode\", [\"M\", 0]]', ['encode', ['M', 0]], 21522], ['partial-repair [\"encode\", [\"Q\", 7]]', ['encode', ['Q', 7]], 11245], ['partial-repair [\"encode\", [\"H\", 0]]', ['encode', ['H', 0]], 5769], ['control [\"encode\", [\"X\", 1]]', ['encode', ['X', 1]], None], ['control [\"encode\", [\"L\", 8]]', ['encode', ['L', 8]], None], ['control [\"decode\", 0]', ['decode', 0], None], ['control [\"decode\", 32767]', ['decode', 32767], None]], [['regression [\"encode\", [\"M\", 5]]', ['encode', ['M', 5]], 16590], ['regression [\"encode\", [\"M\", 7]]', ['encode', ['M', 7]], 19104], ['partial-repair [\"encode\", [\"H\", 5]]', ['encode', ['H', 5]], 597], ['partial-repair [\"encode\", [\"H\", 7]]', ['encode', ['H', 7]], 2107], ['control [\"encode\", [\"X\", 1]]', ['encode', ['X', 1]], None], ['control [\"encode\", [\"L\", 8]]', ['encode', ['L', 8]], None], ['control [\"decode\", 0]', ['decode', 0], None], ['control [\"decode\", 32767]', ['decode', 32767], None]], [['regression [\"encode\", [\"Q\", 3]]', ['encode', ['Q', 3]], 14854], ['regression [\"encode\", [\"Q\", 5]]', ['encode', ['Q', 5]], 8579], ['partial-repair [\"decode\", 19724]', ['decode', 19724], ['H', 6, 1]], ['partial-repair [\"decode\", 6616]', ['decode', 6616], ['H', 3, 1]], ['control [\"encode\", [\"X\", 1]]', ['encode', ['X', 1]], None], ['control [\"encode\", [\"L\", 8]]', ['encode', ['L', 8]], None], ['control [\"decode\", 0]', ['decode', 0], None], ['control [\"decode\", 32767]', ['decode', 32767], None]], [['regression [\"encode\", [\"H\", 0]]', ['encode', ['H', 0]], 5769], ['regression [\"encode\", [\"H\", 3]]', ['encode', ['H', 3]], 6608], ['partial-repair [\"decode\", 2099]', ['decode', 2099], ['H', 7, 1]], ['partial-repair [\"encode\", [\"Q\", 0]]', ['encode', ['Q', 0]], 13663], ['control [\"encode\", [\"X\", 1]]', ['encode', ['X', 1]], None], ['control [\"encode\", [\"L\", 8]]', ['encode', ['L', 8]], None], ['control [\"decode\", 0]', ['decode', 0], None], ['control [\"decode\", 32767]', ['decode', 32767], None]]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\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":"A deterministic, bounded teaching model of the named code under the stated contract; not a production codec. 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":"w2-error_correcting_codes-qr-format-info-level-bits","generated_at":"2026-09-29T14:48:36.039653+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"QR readers must recover the error-correction level and mask pattern before decoding any data module.","repair":"Use the format indicator bits L=1, M=0, Q=3, H=2.","root_cause":"The level bits are taken as L=0, M=1, Q=2, H=3 (alphabetic order) instead of L=01, M=00, Q=11, H=10.","sha256":"e8861cc0d220bb9be3793b672883bb520355b02b3cb449c6484d1765851fd617","title":"QR format encoder numbers error-correction levels in order · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.377,"exit_code":1,"observations":[{"actual":30660,"check":"regression [\"encode\", [\"L\", 0]]","expected":30660,"passed":true},{"actual":30877,"check":"regression [\"encode\", [\"L\", 3]]","expected":30877,"passed":true},{"actual":5769,"check":"partial-repair [\"encode\", [\"Q\", 0]]","expected":13663,"passed":false},{"actual":6608,"check":"partial-repair [\"encode\", [\"Q\", 3]]","expected":14854,"passed":false},{"actual":null,"check":"control [\"encode\", [\"X\", 1]]","expected":null,"passed":true},{"actual":null,"check":"control [\"encode\", [\"L\", 8]]","expected":null,"passed":true},{"actual":null,"check":"control [\"decode\", 0]","expected":null,"passed":true},{"actual":null,"check":"control [\"decode\", 32767]","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [\\\"encode\\\", [\\\"L\\\", 0]]\", \"actual\": 30660, \"expected\": 30660, \"passed\": true}, {\"check\": \"regression [\\\"encode\\\", [\\\"L\\\", 3]]\", \"actual\": 30877, \"expected\": 30877, \"passed\": true}, {\"check\": \"partial-repair [\\\"encode\\\", [\\\"Q\\\", 0]]\", \"actual\": 5769, \"expected\": 13663, \"passed\": false}, {\"check\": \"partial-repair [\\\"encode\\\", [\\\"Q\\\", 3]]\", \"actual\": 6608, \"expected\": 14854, \"passed\": false}, {\"check\": \"control [\\\"encode\\\", [\\\"X\\\", 1]]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [\\\"encode\\\", [\\\"L\\\", 8]]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [\\\"decode\\\", 0]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [\\\"decode\\\", 32767]\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":37.882,"exit_code":1,"observations":[{"actual":21522,"check":"regression [\"encode\", [\"L\", 0]]","expected":30660,"passed":false},{"actual":23371,"check":"regression [\"encode\", [\"L\", 3]]","expected":30877,"passed":false},{"actual":5769,"check":"partial-repair [\"encode\", [\"Q\", 0]]","expected":13663,"passed":false},{"actual":6608,"check":"partial-repair [\"encode\", [\"Q\", 3]]","expected":14854,"passed":false},{"actual":null,"check":"control [\"encode\", [\"X\", 1]]","expected":null,"passed":true},{"actual":null,"check":"control [\"encode\", [\"L\", 8]]","expected":null,"passed":true},{"actual":null,"check":"control [\"decode\", 0]","expected":null,"passed":true},{"actual":null,"check":"control [\"decode\", 32767]","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [\\\"encode\\\", [\\\"L\\\", 0]]\", \"actual\": 21522, \"expected\": 30660, \"passed\": false}, {\"check\": \"regression [\\\"encode\\\", [\\\"L\\\", 3]]\", \"actual\": 23371, \"expected\": 30877, \"passed\": false}, {\"check\": \"partial-repair [\\\"encode\\\", [\\\"Q\\\", 0]]\", \"actual\": 5769, \"expected\": 13663, \"passed\": false}, {\"check\": \"partial-repair [\\\"encode\\\", [\\\"Q\\\", 3]]\", \"actual\": 6608, \"expected\": 14854, \"passed\": false}, {\"check\": \"control [\\\"encode\\\", [\\\"X\\\", 1]]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [\\\"encode\\\", [\\\"L\\\", 8]]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [\\\"decode\\\", 0]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [\\\"decode\\\", 32767]\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":36.087,"exit_code":0,"observations":[{"actual":30660,"check":"regression [\"encode\", [\"L\", 0]]","expected":30660,"passed":true},{"actual":30877,"check":"regression [\"encode\", [\"L\", 3]]","expected":30877,"passed":true},{"actual":13663,"check":"partial-repair [\"encode\", [\"Q\", 0]]","expected":13663,"passed":true},{"actual":14854,"check":"partial-repair [\"encode\", [\"Q\", 3]]","expected":14854,"passed":true},{"actual":null,"check":"control [\"encode\", [\"X\", 1]]","expected":null,"passed":true},{"actual":null,"check":"control [\"encode\", [\"L\", 8]]","expected":null,"passed":true},{"actual":null,"check":"control [\"decode\", 0]","expected":null,"passed":true},{"actual":null,"check":"control [\"decode\", 32767]","expected":null,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [\\\"encode\\\", [\\\"L\\\", 0]]\", \"actual\": 30660, \"expected\": 30660, \"passed\": true}, {\"check\": \"regression [\\\"encode\\\", [\\\"L\\\", 3]]\", \"actual\": 30877, \"expected\": 30877, \"passed\": true}, {\"check\": \"partial-repair [\\\"encode\\\", [\\\"Q\\\", 0]]\", \"actual\": 13663, \"expected\": 13663, \"passed\": true}, {\"check\": \"partial-repair [\\\"encode\\\", [\\\"Q\\\", 3]]\", \"actual\": 14854, \"expected\": 14854, \"passed\": true}, {\"check\": \"control [\\\"encode\\\", [\\\"X\\\", 1]]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [\\\"encode\\\", [\\\"L\\\", 8]]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [\\\"decode\\\", 0]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [\\\"decode\\\", 32767]\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}