{"abstract":"Detachable-equipment (J) and trailer (Z) identifiers are rejected.","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":"Adding J but not Z still rejects trailers and chassis.","family":"w2-check_digit_algorithms-iso6346-container-equipment-category","id":"FA-72731","implementations":{"attempt":{"sha256":"df0cdeab5170174995b73d2d4e1203397a76772653e28ba09dce12b81e37aacf","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 'UJ' 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 [\"BYYJ6917585\"]', ['BYYJ6917585'], [8, False]], ['regression [\"MUHJ6260452\"]', ['MUHJ6260452'], [4, False]], ['partial-repair [\"TSAZ4635083\"]', ['TSAZ4635083'], [9, False]], ['partial-repair [\"QSJZ1716340\"]', ['QSJZ1716340'], [4, False]], ['control [\"HRNU7843702\"]', ['HRNU7843702'], [9, False]], ['control [\"VGQU8532227\"]', ['VGQU8532227'], [2, False]], ['control [\"YQEU5793145\"]', ['YQEU5793145'], [6, False]], ['control [\"CTZU8384457\"]', ['CTZU8384457'], [2, False]]], [['regression [\"TRVJ4468592\"]', ['TRVJ4468592'], [8, False]], ['regression [\"VQAJ3159690\"]', ['VQAJ3159690'], [0, True]], ['partial-repair [\"ABCZ0000000\"]', ['ABCZ0000000'], [5, False]], ['partial-repair [\"TSAZ4635083\"]', ['TSAZ4635083'], [9, False]], ['control [\"FLAU0380833\"]', ['FLAU0380833'], [7, False]], ['control [\"OQHU9278051\"]', ['OQHU9278051'], [8, False]], ['control [\"LGSU0173454\"]', ['LGSU0173454'], [8, False]], ['control [\"RGOU0215685\"]', ['RGOU0215685'], [3, False]]], [['regression [\"QSJZ1716340\"]', ['QSJZ1716340'], [4, False]], ['regression [\"NACZ1755331\"]', ['NACZ1755331'], [0, False]], ['partial-repair [\"ABCZ0000000\"]', ['ABCZ0000000'], [5, False]], ['control [\"MJWU6668315\"]', ['MJWU6668315'], [4, False]], ['control [\"NPNU9965846\"]', ['NPNU9965846'], [3, False]], ['control [\"CCQU2344092\"]', ['CCQU2344092'], [4, False]], ['control [\"CSQU3054383\"]', ['CSQU3054383'], [3, True]], ['control [\"MSKU9070323\"]', ['MSKU9070323'], [3, True]]], [['regression [\"ABCZ0000000\"]', ['ABCZ0000000'], [5, False]], ['regression [\"XYZJ9999999\"]', ['XYZJ9999999'], [1, False]], ['partial-repair [\"QSJZ1716340\"]', ['QSJZ1716340'], [4, False]], ['partial-repair [\"NACZ1755331\"]', ['NACZ1755331'], [0, False]], ['control [\"TCLU1234560\"]', ['TCLU1234560'], [8, False]], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed']], [['regression [\"MUHJ6260452\"]', ['MUHJ6260452'], [4, False]], ['regression [\"GEDJ3497886\"]', ['GEDJ3497886'], [3, False]], ['partial-repair [\"TSAZ4635083\"]', ['TSAZ4635083'], [9, False]], ['partial-repair [\"QSJZ1716340\"]', ['QSJZ1716340'], [4, False]], ['control [\"HRNU7843702\"]', ['HRNU7843702'], [9, False]], ['control [\"VGQU8532227\"]', ['VGQU8532227'], [2, False]], ['control [\"YQEU5793145\"]', ['YQEU5793145'], [6, False]], ['control [\"CTZU8384457\"]', ['CTZU8384457'], [2, False]]]]\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":"3b43ee85dcf6e1a10fb530fd7241a2901958e3a166528ca4180643fd47d99996","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] != 'U' 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 [\"BYYJ6917585\"]', ['BYYJ6917585'], [8, False]], ['regression [\"MUHJ6260452\"]', ['MUHJ6260452'], [4, False]], ['partial-repair [\"TSAZ4635083\"]', ['TSAZ4635083'], [9, False]], ['partial-repair [\"QSJZ1716340\"]', ['QSJZ1716340'], [4, False]], ['control [\"HRNU7843702\"]', ['HRNU7843702'], [9, False]], ['control [\"VGQU8532227\"]', ['VGQU8532227'], [2, False]], ['control [\"YQEU5793145\"]', ['YQEU5793145'], [6, False]], ['control [\"CTZU8384457\"]', ['CTZU8384457'], [2, False]]], [['regression [\"TRVJ4468592\"]', ['TRVJ4468592'], [8, False]], ['regression [\"VQAJ3159690\"]', ['VQAJ3159690'], [0, True]], ['partial-repair [\"ABCZ0000000\"]', ['ABCZ0000000'], [5, False]], ['partial-repair [\"TSAZ4635083\"]', ['TSAZ4635083'], [9, False]], ['control [\"FLAU0380833\"]', ['FLAU0380833'], [7, False]], ['control [\"OQHU9278051\"]', ['OQHU9278051'], [8, False]], ['control [\"LGSU0173454\"]', ['LGSU0173454'], [8, False]], ['control [\"RGOU0215685\"]', ['RGOU0215685'], [3, False]]], [['regression [\"QSJZ1716340\"]', ['QSJZ1716340'], [4, False]], ['regression [\"NACZ1755331\"]', ['NACZ1755331'], [0, False]], ['partial-repair [\"ABCZ0000000\"]', ['ABCZ0000000'], [5, False]], ['control [\"MJWU6668315\"]', ['MJWU6668315'], [4, False]], ['control [\"NPNU9965846\"]', ['NPNU9965846'], [3, False]], ['control [\"CCQU2344092\"]', ['CCQU2344092'], [4, False]], ['control [\"CSQU3054383\"]', ['CSQU3054383'], [3, True]], ['control [\"MSKU9070323\"]', ['MSKU9070323'], [3, True]]], [['regression [\"ABCZ0000000\"]', ['ABCZ0000000'], [5, False]], ['regression [\"XYZJ9999999\"]', ['XYZJ9999999'], [1, False]], ['partial-repair [\"QSJZ1716340\"]', ['QSJZ1716340'], [4, False]], ['partial-repair [\"NACZ1755331\"]', ['NACZ1755331'], [0, False]], ['control [\"TCLU1234560\"]', ['TCLU1234560'], [8, False]], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed']], [['regression [\"MUHJ6260452\"]', ['MUHJ6260452'], [4, False]], ['regression [\"GEDJ3497886\"]', ['GEDJ3497886'], [3, False]], ['partial-repair [\"TSAZ4635083\"]', ['TSAZ4635083'], [9, False]], ['partial-repair [\"QSJZ1716340\"]', ['QSJZ1716340'], [4, False]], ['control [\"HRNU7843702\"]', ['HRNU7843702'], [9, False]], ['control [\"VGQU8532227\"]', ['VGQU8532227'], [2, False]], ['control [\"YQEU5793145\"]', ['YQEU5793145'], [6, False]], ['control [\"CTZU8384457\"]', ['CTZU8384457'], [2, False]]]]\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":"78d8c8108aa4ab362d6a2e940afb42b7271e52dd359578fe49636733b2ce422c","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 [\"BYYJ6917585\"]', ['BYYJ6917585'], [8, False]], ['regression [\"MUHJ6260452\"]', ['MUHJ6260452'], [4, False]], ['partial-repair [\"TSAZ4635083\"]', ['TSAZ4635083'], [9, False]], ['partial-repair [\"QSJZ1716340\"]', ['QSJZ1716340'], [4, False]], ['control [\"HRNU7843702\"]', ['HRNU7843702'], [9, False]], ['control [\"VGQU8532227\"]', ['VGQU8532227'], [2, False]], ['control [\"YQEU5793145\"]', ['YQEU5793145'], [6, False]], ['control [\"CTZU8384457\"]', ['CTZU8384457'], [2, False]]], [['regression [\"TRVJ4468592\"]', ['TRVJ4468592'], [8, False]], ['regression [\"VQAJ3159690\"]', ['VQAJ3159690'], [0, True]], ['partial-repair [\"ABCZ0000000\"]', ['ABCZ0000000'], [5, False]], ['partial-repair [\"TSAZ4635083\"]', ['TSAZ4635083'], [9, False]], ['control [\"FLAU0380833\"]', ['FLAU0380833'], [7, False]], ['control [\"OQHU9278051\"]', ['OQHU9278051'], [8, False]], ['control [\"LGSU0173454\"]', ['LGSU0173454'], [8, False]], ['control [\"RGOU0215685\"]', ['RGOU0215685'], [3, False]]], [['regression [\"QSJZ1716340\"]', ['QSJZ1716340'], [4, False]], ['regression [\"NACZ1755331\"]', ['NACZ1755331'], [0, False]], ['partial-repair [\"ABCZ0000000\"]', ['ABCZ0000000'], [5, False]], ['control [\"MJWU6668315\"]', ['MJWU6668315'], [4, False]], ['control [\"NPNU9965846\"]', ['NPNU9965846'], [3, False]], ['control [\"CCQU2344092\"]', ['CCQU2344092'], [4, False]], ['control [\"CSQU3054383\"]', ['CSQU3054383'], [3, True]], ['control [\"MSKU9070323\"]', ['MSKU9070323'], [3, True]]], [['regression [\"ABCZ0000000\"]', ['ABCZ0000000'], [5, False]], ['regression [\"XYZJ9999999\"]', ['XYZJ9999999'], [1, False]], ['partial-repair [\"QSJZ1716340\"]', ['QSJZ1716340'], [4, False]], ['partial-repair [\"NACZ1755331\"]', ['NACZ1755331'], [0, False]], ['control [\"TCLU1234560\"]', ['TCLU1234560'], [8, False]], ['control [\"CSQU305438\"]', ['CSQU305438'], 'malformed'], ['control [\"CSQX3054383\"]', ['CSQX3054383'], 'malformed'], ['control [\"csqu3054383\"]', ['csqu3054383'], 'malformed']], [['regression [\"MUHJ6260452\"]', ['MUHJ6260452'], [4, False]], ['regression [\"GEDJ3497886\"]', ['GEDJ3497886'], [3, False]], ['partial-repair [\"TSAZ4635083\"]', ['TSAZ4635083'], [9, False]], ['partial-repair [\"QSJZ1716340\"]', ['QSJZ1716340'], [4, False]], ['control [\"HRNU7843702\"]', ['HRNU7843702'], [9, False]], ['control [\"VGQU8532227\"]', ['VGQU8532227'], [2, False]], ['control [\"YQEU5793145\"]', ['YQEU5793145'], [6, False]], ['control [\"CTZU8384457\"]', ['CTZU8384457'], [2, False]]]]\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-equipment-category","generated_at":"2026-09-29T14:48:41.013326+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":"Accept equipment categories U, J and Z.","root_cause":"The category test accepts only U.","sha256":"4ed48b6f85e2524247b9c8121e0017afb822494ea9c823625997b20e13664ba2","title":"Container category admits only freight containers · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.616,"exit_code":1,"observations":[{"actual":[8,false],"check":"regression [\"BYYJ6917585\"]","expected":[8,false],"passed":true},{"actual":[4,false],"check":"regression [\"MUHJ6260452\"]","expected":[4,false],"passed":true},{"actual":"malformed","check":"partial-repair [\"TSAZ4635083\"]","expected":[9,false],"passed":false},{"actual":"malformed","check":"partial-repair [\"QSJZ1716340\"]","expected":[4,false],"passed":false},{"actual":[9,false],"check":"control [\"HRNU7843702\"]","expected":[9,false],"passed":true},{"actual":[2,false],"check":"control [\"VGQU8532227\"]","expected":[2,false],"passed":true},{"actual":[6,false],"check":"control [\"YQEU5793145\"]","expected":[6,false],"passed":true},{"actual":[2,false],"check":"control [\"CTZU8384457\"]","expected":[2,false],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [\\\"BYYJ6917585\\\"]\", \"actual\": [8, false], \"expected\": [8, false], \"passed\": true}, {\"check\": \"regression [\\\"MUHJ6260452\\\"]\", \"actual\": [4, false], \"expected\": [4, false], \"passed\": true}, {\"check\": \"partial-repair [\\\"TSAZ4635083\\\"]\", \"actual\": \"malformed\", \"expected\": [9, false], \"passed\": false}, {\"check\": \"partial-repair [\\\"QSJZ1716340\\\"]\", \"actual\": \"malformed\", \"expected\": [4, false], \"passed\": false}, {\"check\": \"control [\\\"HRNU7843702\\\"]\", \"actual\": [9, false], \"expected\": [9, false], \"passed\": true}, {\"check\": \"control [\\\"VGQU8532227\\\"]\", \"actual\": [2, false], \"expected\": [2, false], \"passed\": true}, {\"check\": \"control [\\\"YQEU5793145\\\"]\", \"actual\": [6, false], \"expected\": [6, false], \"passed\": true}, {\"check\": \"control [\\\"CTZU8384457\\\"]\", \"actual\": [2, false], \"expected\": [2, false], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.293,"exit_code":1,"observations":[{"actual":"malformed","check":"regression [\"BYYJ6917585\"]","expected":[8,false],"passed":false},{"actual":"malformed","check":"regression [\"MUHJ6260452\"]","expected":[4,false],"passed":false},{"actual":"malformed","check":"partial-repair [\"TSAZ4635083\"]","expected":[9,false],"passed":false},{"actual":"malformed","check":"partial-repair [\"QSJZ1716340\"]","expected":[4,false],"passed":false},{"actual":[9,false],"check":"control [\"HRNU7843702\"]","expected":[9,false],"passed":true},{"actual":[2,false],"check":"control [\"VGQU8532227\"]","expected":[2,false],"passed":true},{"actual":[6,false],"check":"control [\"YQEU5793145\"]","expected":[6,false],"passed":true},{"actual":[2,false],"check":"control [\"CTZU8384457\"]","expected":[2,false],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [\\\"BYYJ6917585\\\"]\", \"actual\": \"malformed\", \"expected\": [8, false], \"passed\": false}, {\"check\": \"regression [\\\"MUHJ6260452\\\"]\", \"actual\": \"malformed\", \"expected\": [4, false], \"passed\": false}, {\"check\": \"partial-repair [\\\"TSAZ4635083\\\"]\", \"actual\": \"malformed\", \"expected\": [9, false], \"passed\": false}, {\"check\": \"partial-repair [\\\"QSJZ1716340\\\"]\", \"actual\": \"malformed\", \"expected\": [4, false], \"passed\": false}, {\"check\": \"control [\\\"HRNU7843702\\\"]\", \"actual\": [9, false], \"expected\": [9, false], \"passed\": true}, {\"check\": \"control [\\\"VGQU8532227\\\"]\", \"actual\": [2, false], \"expected\": [2, false], \"passed\": true}, {\"check\": \"control [\\\"YQEU5793145\\\"]\", \"actual\": [6, false], \"expected\": [6, false], \"passed\": true}, {\"check\": \"control [\\\"CTZU8384457\\\"]\", \"actual\": [2, false], \"expected\": [2, false], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.044,"exit_code":0,"observations":[{"actual":[8,false],"check":"regression [\"BYYJ6917585\"]","expected":[8,false],"passed":true},{"actual":[4,false],"check":"regression [\"MUHJ6260452\"]","expected":[4,false],"passed":true},{"actual":[9,false],"check":"partial-repair [\"TSAZ4635083\"]","expected":[9,false],"passed":true},{"actual":[4,false],"check":"partial-repair [\"QSJZ1716340\"]","expected":[4,false],"passed":true},{"actual":[9,false],"check":"control [\"HRNU7843702\"]","expected":[9,false],"passed":true},{"actual":[2,false],"check":"control [\"VGQU8532227\"]","expected":[2,false],"passed":true},{"actual":[6,false],"check":"control [\"YQEU5793145\"]","expected":[6,false],"passed":true},{"actual":[2,false],"check":"control [\"CTZU8384457\"]","expected":[2,false],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [\\\"BYYJ6917585\\\"]\", \"actual\": [8, false], \"expected\": [8, false], \"passed\": true}, {\"check\": \"regression [\\\"MUHJ6260452\\\"]\", \"actual\": [4, false], \"expected\": [4, false], \"passed\": true}, {\"check\": \"partial-repair [\\\"TSAZ4635083\\\"]\", \"actual\": [9, false], \"expected\": [9, false], \"passed\": true}, {\"check\": \"partial-repair [\\\"QSJZ1716340\\\"]\", \"actual\": [4, false], \"expected\": [4, false], \"passed\": true}, {\"check\": \"control [\\\"HRNU7843702\\\"]\", \"actual\": [9, false], \"expected\": [9, false], \"passed\": true}, {\"check\": \"control [\\\"VGQU8532227\\\"]\", \"actual\": [2, false], \"expected\": [2, false], \"passed\": true}, {\"check\": \"control [\\\"YQEU5793145\\\"]\", \"actual\": [6, false], \"expected\": [6, false], \"passed\": true}, {\"check\": \"control [\\\"CTZU8384457\\\"]\", \"actual\": [2, false], \"expected\": [2, false], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}