{"abstract":"Some payloads receive a two-digit check value.","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":"Using (10 - p) % 10 shifts every check digit by one.","family":"w2-check_digit_algorithms-mod11-10-hybrid-final-reduction","id":"FA-72576","implementations":{"attempt":{"sha256":"76dcd817145f888854c9b29e8d2c3b30fdd8230b09b661f7ee5a6e8bfee508b3","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 (10 - p) % 10\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [\"6943515153\"]', ['6943515153'], 0], ['regression [\"00000\"]', ['00000'], 0], ['partial-repair [\"9\"]', ['9'], 4], ['partial-repair [\"12\"]', ['12'], 3], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"072\"]', ['072'], 5], ['control [\"36073\"]', ['36073'], 5]], [['regression [\"00000\"]', ['00000'], 0], ['regression [\"6943515153\"]', ['6943515153'], 0], ['partial-repair [\"36073\"]', ['36073'], 5], ['partial-repair [\"98772300\"]', ['98772300'], 4], ['control [\"12a\"]', ['12a'], None], ['control [\"\"]', [''], None], ['control [\"2638206592\"]', ['2638206592'], 8], ['control [\"412595035658\"]', ['412595035658'], 9]], [['regression [\"6943515153\"]', ['6943515153'], 0], ['regression [\"00000\"]', ['00000'], 0], ['partial-repair [\"6279939841\"]', ['6279939841'], 2], ['partial-repair [\"2638206592\"]', ['2638206592'], 8], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"9795751\"]', ['9795751'], 6], ['control [\"0\"]', ['0'], 2]], [['regression [\"00000\"]', ['00000'], 0], ['regression [\"6943515153\"]', ['6943515153'], 0], ['partial-repair [\"0227566323850846\"]', ['0227566323850846'], 4], ['partial-repair [\"9477\"]', ['9477'], 3], ['control [\"12a\"]', ['12a'], None], ['control [\"\"]', [''], None], ['control [\"3\"]', ['3'], 5], ['control [\"95\"]', ['95'], 7]], [['regression [\"6943515153\"]', ['6943515153'], 0], ['regression [\"00000\"]', ['00000'], 0], ['partial-repair [\"9795751\"]', ['9795751'], 6], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"9\"]', ['9'], 4], ['control [\"12\"]', ['12'], 3], ['control [\"072\"]', ['072'], 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":"13ff8ec0bb7c284b06e8919e2a5795c16c08d9f9fbae20440178c98413d50d2f","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\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression [\"6943515153\"]', ['6943515153'], 0], ['regression [\"00000\"]', ['00000'], 0], ['partial-repair [\"9\"]', ['9'], 4], ['partial-repair [\"12\"]', ['12'], 3], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"072\"]', ['072'], 5], ['control [\"36073\"]', ['36073'], 5]], [['regression [\"00000\"]', ['00000'], 0], ['regression [\"6943515153\"]', ['6943515153'], 0], ['partial-repair [\"36073\"]', ['36073'], 5], ['partial-repair [\"98772300\"]', ['98772300'], 4], ['control [\"12a\"]', ['12a'], None], ['control [\"\"]', [''], None], ['control [\"2638206592\"]', ['2638206592'], 8], ['control [\"412595035658\"]', ['412595035658'], 9]], [['regression [\"6943515153\"]', ['6943515153'], 0], ['regression [\"00000\"]', ['00000'], 0], ['partial-repair [\"6279939841\"]', ['6279939841'], 2], ['partial-repair [\"2638206592\"]', ['2638206592'], 8], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"9795751\"]', ['9795751'], 6], ['control [\"0\"]', ['0'], 2]], [['regression [\"00000\"]', ['00000'], 0], ['regression [\"6943515153\"]', ['6943515153'], 0], ['partial-repair [\"0227566323850846\"]', ['0227566323850846'], 4], ['partial-repair [\"9477\"]', ['9477'], 3], ['control [\"12a\"]', ['12a'], None], ['control [\"\"]', [''], None], ['control [\"3\"]', ['3'], 5], ['control [\"95\"]', ['95'], 7]], [['regression [\"6943515153\"]', ['6943515153'], 0], ['regression [\"00000\"]', ['00000'], 0], ['partial-repair [\"9795751\"]', ['9795751'], 6], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"9\"]', ['9'], 4], ['control [\"12\"]', ['12'], 3], ['control [\"072\"]', ['072'], 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":"9f44de55e6ad826383dcd63b1c43dd16d92b9dbbce015db6ba010ba5ba649aea","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 [\"6943515153\"]', ['6943515153'], 0], ['regression [\"00000\"]', ['00000'], 0], ['partial-repair [\"9\"]', ['9'], 4], ['partial-repair [\"12\"]', ['12'], 3], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"072\"]', ['072'], 5], ['control [\"36073\"]', ['36073'], 5]], [['regression [\"00000\"]', ['00000'], 0], ['regression [\"6943515153\"]', ['6943515153'], 0], ['partial-repair [\"36073\"]', ['36073'], 5], ['partial-repair [\"98772300\"]', ['98772300'], 4], ['control [\"12a\"]', ['12a'], None], ['control [\"\"]', [''], None], ['control [\"2638206592\"]', ['2638206592'], 8], ['control [\"412595035658\"]', ['412595035658'], 9]], [['regression [\"6943515153\"]', ['6943515153'], 0], ['regression [\"00000\"]', ['00000'], 0], ['partial-repair [\"6279939841\"]', ['6279939841'], 2], ['partial-repair [\"2638206592\"]', ['2638206592'], 8], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"9795751\"]', ['9795751'], 6], ['control [\"0\"]', ['0'], 2]], [['regression [\"00000\"]', ['00000'], 0], ['regression [\"6943515153\"]', ['6943515153'], 0], ['partial-repair [\"0227566323850846\"]', ['0227566323850846'], 4], ['partial-repair [\"9477\"]', ['9477'], 3], ['control [\"12a\"]', ['12a'], None], ['control [\"\"]', [''], None], ['control [\"3\"]', ['3'], 5], ['control [\"95\"]', ['95'], 7]], [['regression [\"6943515153\"]', ['6943515153'], 0], ['regression [\"00000\"]', ['00000'], 0], ['partial-repair [\"9795751\"]', ['9795751'], 6], ['control [\"\"]', [''], None], ['control [\"12a\"]', ['12a'], None], ['control [\"9\"]', ['9'], 4], ['control [\"12\"]', ['12'], 3], ['control [\"072\"]', ['072'], 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-final-reduction","generated_at":"2026-09-29T14:48:39.730969+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":"Return (11 - p) % 10 so p = 1 yields 0.","root_cause":"The final step returns 11 - p without reducing mod 10.","sha256":"0ab5aa38d9515c66f2d74dc501daa8d1447f00223cf3549572e3955b37a5aef0","title":"MOD 11,10 emits ten as a check digit · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.918,"exit_code":1,"observations":[{"actual":9,"check":"regression [\"6943515153\"]","expected":0,"passed":false},{"actual":9,"check":"regression [\"00000\"]","expected":0,"passed":false},{"actual":3,"check":"partial-repair [\"9\"]","expected":4,"passed":false},{"actual":2,"check":"partial-repair [\"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":4,"check":"control [\"36073\"]","expected":5,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [\\\"6943515153\\\"]\", \"actual\": 9, \"expected\": 0, \"passed\": false}, {\"check\": \"regression [\\\"00000\\\"]\", \"actual\": 9, \"expected\": 0, \"passed\": false}, {\"check\": \"partial-repair [\\\"9\\\"]\", \"actual\": 3, \"expected\": 4, \"passed\": false}, {\"check\": \"partial-repair [\\\"12\\\"]\", \"actual\": 2, \"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\": 4, \"expected\": 5, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":37.788,"exit_code":1,"observations":[{"actual":10,"check":"regression [\"6943515153\"]","expected":0,"passed":false},{"actual":10,"check":"regression [\"00000\"]","expected":0,"passed":false},{"actual":4,"check":"partial-repair [\"9\"]","expected":4,"passed":true},{"actual":3,"check":"partial-repair [\"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}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [\\\"6943515153\\\"]\", \"actual\": 10, \"expected\": 0, \"passed\": false}, {\"check\": \"regression [\\\"00000\\\"]\", \"actual\": 10, \"expected\": 0, \"passed\": false}, {\"check\": \"partial-repair [\\\"9\\\"]\", \"actual\": 4, \"expected\": 4, \"passed\": true}, {\"check\": \"partial-repair [\\\"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}], \"passed\": false}\n"},"fixed":{"elapsed_ms":36.743,"exit_code":0,"observations":[{"actual":0,"check":"regression [\"6943515153\"]","expected":0,"passed":true},{"actual":0,"check":"regression [\"00000\"]","expected":0,"passed":true},{"actual":4,"check":"partial-repair [\"9\"]","expected":4,"passed":true},{"actual":3,"check":"partial-repair [\"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}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression [\\\"6943515153\\\"]\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"regression [\\\"00000\\\"]\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"partial-repair [\\\"9\\\"]\", \"actual\": 4, \"expected\": 4, \"passed\": true}, {\"check\": \"partial-repair [\\\"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}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}