{"abstract":"Container numbers with owner letters B or later get the wrong check digit.","category":"Check-digit algorithms","checks":8,"contract":"Shipping container identification check digit: three uppercase owner letters, category U, J or Z, six serial digits and a check digit (else \"malformed\"). Letter values start at A=10 and skip every multiple of 11 (so B=12, L=23, V=34, Z=38). Position i (0-based) has weight 2^i; the check digit is (sum mod 11) mod 10. Return [check, match].","evaluation_group":"w2-check_digit_algorithms-iso6346-container","failed_approach":"Skipping only the value 11 still leaves 22 and 33 assigned.","family":"w2-check_digit_algorithms-iso6346-container-skip-multiples","id":"FA-72716","implementations":{"attempt":{"sha256":"08cc52c3db2c40020820b7d81af36b82b644e90e4d91751878fff51a99641181","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(s):\n    if len(s) != 11 or not s.isascii() or not s[:3].isalpha() or not s[:3].isupper():\n        return 'malformed'\n    if s[3] not in 'UJZ' or not s[4:].isdigit():\n        return 'malformed'\n    vals = {}\n    v = 10\n    for ch in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ':\n        if v == 11:\n            v += 1\n        vals[ch] = v\n        v += 1\n    total = 0\n    for i, ch in enumerate(s[:10]):\n        total += (vals[ch] if ch.isalpha() else int(ch)) * 2 ** i\n    check = total % 11 % 10\n    return [check, check == int(s[10])]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [\"HRNU7843702\"]', ['HRNU7843702'], [9, False]], ['regression [\"BYYJ6917585\"]', ['BYYJ6917585'], [8, False]], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed'], ['control [\"C1QU3054383\"]', ['C1QU3054383'], 'malformed'], ['control [\"GEDJ3497886\"]', ['GEDJ3497886'], [3, False]], ['control [\"YQEU5793145\"]', ['YQEU5793145'], [6, False]]], [['regression [\"MUHJ6260452\"]', ['MUHJ6260452'], [4, False]], ['regression [\"GEDJ3497886\"]', ['GEDJ3497886'], [3, False]], ['partial-repair [\"YQEU5793145\"]', ['YQEU5793145'], [6, False]], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed'], ['control [\"C1QU3054383\"]', ['C1QU3054383'], 'malformed'], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"OQHU9278051\"]', ['OQHU9278051'], [8, False]]], [['regression [\"CYVU1050697\"]', ['CYVU1050697'], [7, True]], ['regression [\"FLAU0380833\"]', ['FLAU0380833'], [7, False]], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed'], ['control [\"C1QU3054383\"]', ['C1QU3054383'], 'malformed'], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"LBRU3332332\"]', ['LBRU3332332'], [4, False]], ['control [\"TSAZ4635083\"]', ['TSAZ4635083'], [9, False]]], [['regression [\"TRVJ4468592\"]', ['TRVJ4468592'], [8, False]], ['regression [\"LGSU0173454\"]', ['LGSU0173454'], [8, False]], ['partial-repair [\"VQAJ3159690\"]', ['VQAJ3159690'], [0, True]], ['partial-repair [\"RGOU0215685\"]', ['RGOU0215685'], [3, False]], ['control [\"C1QU3054383\"]', ['C1QU3054383'], 'malformed'], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed']], [['regression [\"RGOU0215685\"]', ['RGOU0215685'], [3, False]], ['regression [\"LBRU3332332\"]', ['LBRU3332332'], [4, False]], ['partial-repair [\"TSAZ4635083\"]', ['TSAZ4635083'], [9, False]], ['partial-repair [\"QSJZ1716340\"]', ['QSJZ1716340'], [4, False]], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed'], ['control [\"C1QU3054383\"]', ['C1QU3054383'], 'malformed']]]\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":"a042f9164a814964d7ab14b3ae6a9ac143caa2fcf27f493ded9e0f068715d074","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(s):\n    if len(s) != 11 or not s.isascii() or not s[:3].isalpha() or not s[:3].isupper():\n        return 'malformed'\n    if s[3] not in 'UJZ' or not s[4:].isdigit():\n        return 'malformed'\n    vals = {}\n    v = 10\n    for ch in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ':\n        vals[ch] = v\n        v += 1\n    total = 0\n    for i, ch in enumerate(s[:10]):\n        total += (vals[ch] if ch.isalpha() else int(ch)) * 2 ** i\n    check = total % 11 % 10\n    return [check, check == int(s[10])]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [\"HRNU7843702\"]', ['HRNU7843702'], [9, False]], ['regression [\"BYYJ6917585\"]', ['BYYJ6917585'], [8, False]], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed'], ['control [\"C1QU3054383\"]', ['C1QU3054383'], 'malformed'], ['control [\"GEDJ3497886\"]', ['GEDJ3497886'], [3, False]], ['control [\"YQEU5793145\"]', ['YQEU5793145'], [6, False]]], [['regression [\"MUHJ6260452\"]', ['MUHJ6260452'], [4, False]], ['regression [\"GEDJ3497886\"]', ['GEDJ3497886'], [3, False]], ['partial-repair [\"YQEU5793145\"]', ['YQEU5793145'], [6, False]], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed'], ['control [\"C1QU3054383\"]', ['C1QU3054383'], 'malformed'], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"OQHU9278051\"]', ['OQHU9278051'], [8, False]]], [['regression [\"CYVU1050697\"]', ['CYVU1050697'], [7, True]], ['regression [\"FLAU0380833\"]', ['FLAU0380833'], [7, False]], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed'], ['control [\"C1QU3054383\"]', ['C1QU3054383'], 'malformed'], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"LBRU3332332\"]', ['LBRU3332332'], [4, False]], ['control [\"TSAZ4635083\"]', ['TSAZ4635083'], [9, False]]], [['regression [\"TRVJ4468592\"]', ['TRVJ4468592'], [8, False]], ['regression [\"LGSU0173454\"]', ['LGSU0173454'], [8, False]], ['partial-repair [\"VQAJ3159690\"]', ['VQAJ3159690'], [0, True]], ['partial-repair [\"RGOU0215685\"]', ['RGOU0215685'], [3, False]], ['control [\"C1QU3054383\"]', ['C1QU3054383'], 'malformed'], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed']], [['regression [\"RGOU0215685\"]', ['RGOU0215685'], [3, False]], ['regression [\"LBRU3332332\"]', ['LBRU3332332'], [4, False]], ['partial-repair [\"TSAZ4635083\"]', ['TSAZ4635083'], [9, False]], ['partial-repair [\"QSJZ1716340\"]', ['QSJZ1716340'], [4, False]], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed'], ['control [\"C1QU3054383\"]', ['C1QU3054383'], 'malformed']]]\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":"f9d41b3d921d79a27f144b5cff2eb383098faa4975a8de56ad075587d221996b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(s):\n    if len(s) != 11 or not s.isascii() or not s[:3].isalpha() or not s[:3].isupper():\n        return 'malformed'\n    if s[3] not in 'UJZ' or not s[4:].isdigit():\n        return 'malformed'\n    vals = {}\n    v = 10\n    for ch in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ':\n        if v % 11 == 0:\n            v += 1\n        vals[ch] = v\n        v += 1\n    total = 0\n    for i, ch in enumerate(s[:10]):\n        total += (vals[ch] if ch.isalpha() else int(ch)) * 2 ** i\n    check = total % 11 % 10\n    return [check, check == int(s[10])]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [\"HRNU7843702\"]', ['HRNU7843702'], [9, False]], ['regression [\"BYYJ6917585\"]', ['BYYJ6917585'], [8, False]], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed'], ['control [\"C1QU3054383\"]', ['C1QU3054383'], 'malformed'], ['control [\"GEDJ3497886\"]', ['GEDJ3497886'], [3, False]], ['control [\"YQEU5793145\"]', ['YQEU5793145'], [6, False]]], [['regression [\"MUHJ6260452\"]', ['MUHJ6260452'], [4, False]], ['regression [\"GEDJ3497886\"]', ['GEDJ3497886'], [3, False]], ['partial-repair [\"YQEU5793145\"]', ['YQEU5793145'], [6, False]], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed'], ['control [\"C1QU3054383\"]', ['C1QU3054383'], 'malformed'], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"OQHU9278051\"]', ['OQHU9278051'], [8, False]]], [['regression [\"CYVU1050697\"]', ['CYVU1050697'], [7, True]], ['regression [\"FLAU0380833\"]', ['FLAU0380833'], [7, False]], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed'], ['control [\"C1QU3054383\"]', ['C1QU3054383'], 'malformed'], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"LBRU3332332\"]', ['LBRU3332332'], [4, False]], ['control [\"TSAZ4635083\"]', ['TSAZ4635083'], [9, False]]], [['regression [\"TRVJ4468592\"]', ['TRVJ4468592'], [8, False]], ['regression [\"LGSU0173454\"]', ['LGSU0173454'], [8, False]], ['partial-repair [\"VQAJ3159690\"]', ['VQAJ3159690'], [0, True]], ['partial-repair [\"RGOU0215685\"]', ['RGOU0215685'], [3, False]], ['control [\"C1QU3054383\"]', ['C1QU3054383'], 'malformed'], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed']], [['regression [\"RGOU0215685\"]', ['RGOU0215685'], [3, False]], ['regression [\"LBRU3332332\"]', ['LBRU3332332'], [4, False]], ['partial-repair [\"TSAZ4635083\"]', ['TSAZ4635083'], [9, False]], ['partial-repair [\"QSJZ1716340\"]', ['QSJZ1716340'], [4, False]], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed'], ['control [\"C1QU3054383\"]', ['C1QU3054383'], 'malformed']]]\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 scheme under the stated contract; not a certified validator. 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-check_digit_algorithms-iso6346-container-skip-multiples","generated_at":"2026-09-29T14:48:40.970232+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Terminal gate systems validate container numbers read by OCR cameras before booking moves.","repair":"Skip 11, 22 and 33 while assigning letter values.","root_cause":"Letters are numbered consecutively from 10, so B=11, which the scheme skips.","sha256":"6f145a0aa973c5ed0355256e440c666d91857340265f80467eb1350b6874fc00","title":"Container letter values do not skip multiples of eleven · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.011,"exit_code":1,"observations":[{"actual":[6,false],"check":"regression [\"HRNU7843702\"]","expected":[9,false],"passed":false},{"actual":[7,false],"check":"regression [\"BYYJ6917585\"]","expected":[8,false],"passed":false},{"actual":"malformed","check":"control [\"CSQU305438\"]","expected":"malformed","passed":true},{"actual":"malformed","check":"control [\"CSQX3054383\"]","expected":"malformed","passed":true},{"actual":"malformed","check":"control [\"csqu3054383\"]","expected":"malformed","passed":true},{"actual":"malformed","check":"control [\"C1QU3054383\"]","expected":"malformed","passed":true},{"actual":[3,false],"check":"control [\"GEDJ3497886\"]","expected":[3,false],"passed":true},{"actual":[5,true],"check":"control [\"YQEU5793145\"]","expected":[6,false],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [\\\"HRNU7843702\\\"]\", \"actual\": [6, false], \"expected\": [9, false], \"passed\": false}, {\"check\": \"regression [\\\"BYYJ6917585\\\"]\", \"actual\": [7, false], \"expected\": [8, false], \"passed\": false}, {\"check\": \"control [\\\"CSQU305438\\\"]\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"control [\\\"CSQX3054383\\\"]\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"control [\\\"csqu3054383\\\"]\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"control [\\\"C1QU3054383\\\"]\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"control [\\\"GEDJ3497886\\\"]\", \"actual\": [3, false], \"expected\": [3, false], \"passed\": true}, {\"check\": \"control [\\\"YQEU5793145\\\"]\", \"actual\": [5, true], \"expected\": [6, false], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":37.349,"exit_code":1,"observations":[{"actual":[2,true],"check":"regression [\"HRNU7843702\"]","expected":[9,false],"passed":false},{"actual":[3,false],"check":"regression [\"BYYJ6917585\"]","expected":[8,false],"passed":false},{"actual":"malformed","check":"control [\"CSQU305438\"]","expected":"malformed","passed":true},{"actual":"malformed","check":"control [\"CSQX3054383\"]","expected":"malformed","passed":true},{"actual":"malformed","check":"control [\"csqu3054383\"]","expected":"malformed","passed":true},{"actual":"malformed","check":"control [\"C1QU3054383\"]","expected":"malformed","passed":true},{"actual":[0,false],"check":"control [\"GEDJ3497886\"]","expected":[3,false],"passed":false},{"actual":[1,false],"check":"control [\"YQEU5793145\"]","expected":[6,false],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [\\\"HRNU7843702\\\"]\", \"actual\": [2, true], \"expected\": [9, false], \"passed\": false}, {\"check\": \"regression [\\\"BYYJ6917585\\\"]\", \"actual\": [3, false], \"expected\": [8, false], \"passed\": false}, {\"check\": \"control [\\\"CSQU305438\\\"]\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"control [\\\"CSQX3054383\\\"]\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"control [\\\"csqu3054383\\\"]\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"control [\\\"C1QU3054383\\\"]\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"control [\\\"GEDJ3497886\\\"]\", \"actual\": [0, false], \"expected\": [3, false], \"passed\": false}, {\"check\": \"control [\\\"YQEU5793145\\\"]\", \"actual\": [1, false], \"expected\": [6, false], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.438,"exit_code":0,"observations":[{"actual":[9,false],"check":"regression [\"HRNU7843702\"]","expected":[9,false],"passed":true},{"actual":[8,false],"check":"regression [\"BYYJ6917585\"]","expected":[8,false],"passed":true},{"actual":"malformed","check":"control [\"CSQU305438\"]","expected":"malformed","passed":true},{"actual":"malformed","check":"control [\"CSQX3054383\"]","expected":"malformed","passed":true},{"actual":"malformed","check":"control [\"csqu3054383\"]","expected":"malformed","passed":true},{"actual":"malformed","check":"control [\"C1QU3054383\"]","expected":"malformed","passed":true},{"actual":[3,false],"check":"control [\"GEDJ3497886\"]","expected":[3,false],"passed":true},{"actual":[6,false],"check":"control [\"YQEU5793145\"]","expected":[6,false],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [\\\"HRNU7843702\\\"]\", \"actual\": [9, false], \"expected\": [9, false], \"passed\": true}, {\"check\": \"regression [\\\"BYYJ6917585\\\"]\", \"actual\": [8, false], \"expected\": [8, false], \"passed\": true}, {\"check\": \"control [\\\"CSQU305438\\\"]\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"control [\\\"CSQX3054383\\\"]\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"control [\\\"csqu3054383\\\"]\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"control [\\\"C1QU3054383\\\"]\", \"actual\": \"malformed\", \"expected\": \"malformed\", \"passed\": true}, {\"check\": \"control [\\\"GEDJ3497886\\\"]\", \"actual\": [3, false], \"expected\": [3, false], \"passed\": true}, {\"check\": \"control [\\\"YQEU5793145\\\"]\", \"actual\": [6, false], \"expected\": [6, false], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}