{"abstract":"Check digits disagree with the hybrid system for most payloads.","category":"Check-digit algorithms","checks":8,"contract":"ISO 7064 MOD 11,10 hybrid check digit generation for a nonempty ASCII digit payload (else None). Start with p = 10; for each digit p = ((p + d) mod 10, with 0 replaced by 10) * 2 mod 11; the check digit is (11 - p) mod 10.","evaluation_group":"w2-check_digit_algorithms-mod11-10-hybrid","failed_approach":"Starting at 11 (the other modulus) is congruent to 1 mod 10 and repeats the same error.","family":"w2-check_digit_algorithms-mod11-10-hybrid-initial-state","id":"FA-72571","implementations":{"attempt":{"sha256":"47c6391115fa943e7d5a2a576dbcd670ecae0619a2ad915ddc488bb304b5757e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(s):\n    if not s or not s.isascii() or not s.isdigit():\n        return None\n    p = 11\n    for ch in s:\n        p = ((p + int(ch)) % 10 or 10) * 2 % 11\n    return (11 - p) % 10\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [\"9\"]', ['9'], 4], ['regression [\"12\"]', ['12'], 3], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"072\"]', ['072'], 5], ['control [\"36073\"]', ['36073'], 5], ['control [\"98772300\"]', ['98772300'], 4], ['control [\"3370345686\"]', ['3370345686'], 4]], [['regression [\"36073\"]', ['36073'], 5], ['regression [\"98772300\"]', ['98772300'], 4], ['control [\"12a\"]', ['12a'], None], ['control [\"\"]', [''], None], ['control [\"2638206592\"]', ['2638206592'], 8], ['control [\"412595035658\"]', ['412595035658'], 9], ['control [\"0227566323850846\"]', ['0227566323850846'], 4], ['control [\"9477\"]', ['9477'], 3]], [['regression [\"6279939841\"]', ['6279939841'], 2], ['regression [\"2638206592\"]', ['2638206592'], 8], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"9795751\"]', ['9795751'], 6], ['control [\"6943515153\"]', ['6943515153'], 0], ['control [\"0\"]', ['0'], 2], ['control [\"1\"]', ['1'], 9]], [['regression [\"0227566323850846\"]', ['0227566323850846'], 4], ['regression [\"9477\"]', ['9477'], 3], ['control [\"12a\"]', ['12a'], None], ['control [\"\"]', [''], None], ['control [\"3\"]', ['3'], 5], ['control [\"95\"]', ['95'], 7], ['control [\"55555\"]', ['55555'], 1], ['control [\"9\"]', ['9'], 4]], [['regression [\"9795751\"]', ['9795751'], 6], ['regression [\"6943515153\"]', ['6943515153'], 0], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"9\"]', ['9'], 4], ['control [\"12\"]', ['12'], 3], ['control [\"072\"]', ['072'], 5], ['control [\"36073\"]', ['36073'], 5]]]\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":"961b2c861915bf1b5f8da1d2a435d902eb3656b93f77c9244bf2bf4d5b692bee","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(s):\n    if not s or not s.isascii() or not s.isdigit():\n        return None\n    p = 1\n    for ch in s:\n        p = ((p + int(ch)) % 10 or 10) * 2 % 11\n    return (11 - p) % 10\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [\"9\"]', ['9'], 4], ['regression [\"12\"]', ['12'], 3], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"072\"]', ['072'], 5], ['control [\"36073\"]', ['36073'], 5], ['control [\"98772300\"]', ['98772300'], 4], ['control [\"3370345686\"]', ['3370345686'], 4]], [['regression [\"36073\"]', ['36073'], 5], ['regression [\"98772300\"]', ['98772300'], 4], ['control [\"12a\"]', ['12a'], None], ['control [\"\"]', [''], None], ['control [\"2638206592\"]', ['2638206592'], 8], ['control [\"412595035658\"]', ['412595035658'], 9], ['control [\"0227566323850846\"]', ['0227566323850846'], 4], ['control [\"9477\"]', ['9477'], 3]], [['regression [\"6279939841\"]', ['6279939841'], 2], ['regression [\"2638206592\"]', ['2638206592'], 8], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"9795751\"]', ['9795751'], 6], ['control [\"6943515153\"]', ['6943515153'], 0], ['control [\"0\"]', ['0'], 2], ['control [\"1\"]', ['1'], 9]], [['regression [\"0227566323850846\"]', ['0227566323850846'], 4], ['regression [\"9477\"]', ['9477'], 3], ['control [\"12a\"]', ['12a'], None], ['control [\"\"]', [''], None], ['control [\"3\"]', ['3'], 5], ['control [\"95\"]', ['95'], 7], ['control [\"55555\"]', ['55555'], 1], ['control [\"9\"]', ['9'], 4]], [['regression [\"9795751\"]', ['9795751'], 6], ['regression [\"6943515153\"]', ['6943515153'], 0], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"9\"]', ['9'], 4], ['control [\"12\"]', ['12'], 3], ['control [\"072\"]', ['072'], 5], ['control [\"36073\"]', ['36073'], 5]]]\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":"3cfb78588b299fbbf781fe4060d4660da319d613f51b2fd7c62b4d7cfdc8f616","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(s):\n    if not s or not s.isascii() or not s.isdigit():\n        return None\n    p = 10\n    for ch in s:\n        p = ((p + int(ch)) % 10 or 10) * 2 % 11\n    return (11 - p) % 10\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [\"9\"]', ['9'], 4], ['regression [\"12\"]', ['12'], 3], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"072\"]', ['072'], 5], ['control [\"36073\"]', ['36073'], 5], ['control [\"98772300\"]', ['98772300'], 4], ['control [\"3370345686\"]', ['3370345686'], 4]], [['regression [\"36073\"]', ['36073'], 5], ['regression [\"98772300\"]', ['98772300'], 4], ['control [\"12a\"]', ['12a'], None], ['control [\"\"]', [''], None], ['control [\"2638206592\"]', ['2638206592'], 8], ['control [\"412595035658\"]', ['412595035658'], 9], ['control [\"0227566323850846\"]', ['0227566323850846'], 4], ['control [\"9477\"]', ['9477'], 3]], [['regression [\"6279939841\"]', ['6279939841'], 2], ['regression [\"2638206592\"]', ['2638206592'], 8], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"9795751\"]', ['9795751'], 6], ['control [\"6943515153\"]', ['6943515153'], 0], ['control [\"0\"]', ['0'], 2], ['control [\"1\"]', ['1'], 9]], [['regression [\"0227566323850846\"]', ['0227566323850846'], 4], ['regression [\"9477\"]', ['9477'], 3], ['control [\"12a\"]', ['12a'], None], ['control [\"\"]', [''], None], ['control [\"3\"]', ['3'], 5], ['control [\"95\"]', ['95'], 7], ['control [\"55555\"]', ['55555'], 1], ['control [\"9\"]', ['9'], 4]], [['regression [\"9795751\"]', ['9795751'], 6], ['regression [\"6943515153\"]', ['6943515153'], 0], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"9\"]', ['9'], 4], ['control [\"12\"]', ['12'], 3], ['control [\"072\"]', ['072'], 5], ['control [\"36073\"]', ['36073'], 5]]]\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-mod11-10-hybrid-initial-state","generated_at":"2026-09-29T14:48:39.650665+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Tax and personal identification numbers (for example OIB-style identifiers) use the hybrid MOD 11,10 system.","repair":"Initialise p = 10.","root_cause":"The running value starts at 1 instead of the modulus 10 (starting at 0 would be harmless because of the mod-10 step).","sha256":"831eaa1d844173de0cccaaae2d95f2d8e67a30396da0cd77fba514aa59ae4d94","title":"MOD 11,10 starts the fold at one · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.823,"exit_code":1,"observations":[{"actual":2,"check":"regression [\"9\"]","expected":4,"passed":false},{"actual":0,"check":"regression [\"12\"]","expected":3,"passed":false},{"actual":null,"check":"control [\"\"]","expected":null,"passed":true},{"actual":null,"check":"control [\"12a\"]","expected":null,"passed":true},{"actual":4,"check":"control [\"072\"]","expected":5,"passed":false},{"actual":8,"check":"control [\"36073\"]","expected":5,"passed":false},{"actual":5,"check":"control [\"98772300\"]","expected":4,"passed":false},{"actual":5,"check":"control [\"3370345686\"]","expected":4,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [\\\"9\\\"]\", \"actual\": 2, \"expected\": 4, \"passed\": false}, {\"check\": \"regression [\\\"12\\\"]\", \"actual\": 0, \"expected\": 3, \"passed\": false}, {\"check\": \"control [\\\"\\\"]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [\\\"12a\\\"]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [\\\"072\\\"]\", \"actual\": 4, \"expected\": 5, \"passed\": false}, {\"check\": \"control [\\\"36073\\\"]\", \"actual\": 8, \"expected\": 5, \"passed\": false}, {\"check\": \"control [\\\"98772300\\\"]\", \"actual\": 5, \"expected\": 4, \"passed\": false}, {\"check\": \"control [\\\"3370345686\\\"]\", \"actual\": 5, \"expected\": 4, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.05,"exit_code":1,"observations":[{"actual":2,"check":"regression [\"9\"]","expected":4,"passed":false},{"actual":0,"check":"regression [\"12\"]","expected":3,"passed":false},{"actual":null,"check":"control [\"\"]","expected":null,"passed":true},{"actual":null,"check":"control [\"12a\"]","expected":null,"passed":true},{"actual":4,"check":"control [\"072\"]","expected":5,"passed":false},{"actual":8,"check":"control [\"36073\"]","expected":5,"passed":false},{"actual":5,"check":"control [\"98772300\"]","expected":4,"passed":false},{"actual":5,"check":"control [\"3370345686\"]","expected":4,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [\\\"9\\\"]\", \"actual\": 2, \"expected\": 4, \"passed\": false}, {\"check\": \"regression [\\\"12\\\"]\", \"actual\": 0, \"expected\": 3, \"passed\": false}, {\"check\": \"control [\\\"\\\"]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [\\\"12a\\\"]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [\\\"072\\\"]\", \"actual\": 4, \"expected\": 5, \"passed\": false}, {\"check\": \"control [\\\"36073\\\"]\", \"actual\": 8, \"expected\": 5, \"passed\": false}, {\"check\": \"control [\\\"98772300\\\"]\", \"actual\": 5, \"expected\": 4, \"passed\": false}, {\"check\": \"control [\\\"3370345686\\\"]\", \"actual\": 5, \"expected\": 4, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":36.201,"exit_code":0,"observations":[{"actual":4,"check":"regression [\"9\"]","expected":4,"passed":true},{"actual":3,"check":"regression [\"12\"]","expected":3,"passed":true},{"actual":null,"check":"control [\"\"]","expected":null,"passed":true},{"actual":null,"check":"control [\"12a\"]","expected":null,"passed":true},{"actual":5,"check":"control [\"072\"]","expected":5,"passed":true},{"actual":5,"check":"control [\"36073\"]","expected":5,"passed":true},{"actual":4,"check":"control [\"98772300\"]","expected":4,"passed":true},{"actual":4,"check":"control [\"3370345686\"]","expected":4,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [\\\"9\\\"]\", \"actual\": 4, \"expected\": 4, \"passed\": true}, {\"check\": \"regression [\\\"12\\\"]\", \"actual\": 3, \"expected\": 3, \"passed\": true}, {\"check\": \"control [\\\"\\\"]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [\\\"12a\\\"]\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control [\\\"072\\\"]\", \"actual\": 5, \"expected\": 5, \"passed\": true}, {\"check\": \"control [\\\"36073\\\"]\", \"actual\": 5, \"expected\": 5, \"passed\": true}, {\"check\": \"control [\\\"98772300\\\"]\", \"actual\": 4, \"expected\": 4, \"passed\": true}, {\"check\": \"control [\\\"3370345686\\\"]\", \"actual\": 4, \"expected\": 4, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}