{"abstract":"Last-digit plural rules misclassify teen quantities.","category":"Localization message semantics","checks":6,"contract":"For a nonnegative integer, choose one for last digit 1 except final two digits 11; few for last digits 2..4 except final two digits 12..14; many otherwise.","contract_signature":"n","evaluation_group":"model-04b55b6d90864c7c","failed_approach":"Special-casing 11 alone leaves 12 through 14 in the few branch.","family":"z-localization-teen-exclusion","id":"FA-11746","implementations":{"attempt":{"sha256":"e4de8c72d0c0e6e1b165df0c5936ad7d6340a8c8553d2a1fa49e1b010b48aa41","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(n):\n    return 'many' if n % 100 == 11 else ('one' if n % 10 == 1 else ('few' if n % 10 in (2,3,4) else 'many'))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('one', solve(100*N+1), 'one')\ncheck('eleven', solve(100*N+11), 'many')\ncheck('twelve', solve(100*N+12), 'many')\ncheck('fourteen', solve(100*N+14), 'many')\ncheck('few', solve(100*N+4), 'few')\ncheck('zero', solve(0), 'many')\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":"8ef22b2a936e9a8b9cdcddebc109325d4979d753432e3a863ee0a2b615122bf9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(n):\n    return 'one' if n % 10 == 1 else ('few' if n % 10 in (2,3,4) else 'many')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('one', solve(100*N+1), 'one')\ncheck('eleven', solve(100*N+11), 'many')\ncheck('twelve', solve(100*N+12), 'many')\ncheck('fourteen', solve(100*N+14), 'many')\ncheck('few', solve(100*N+4), 'few')\ncheck('zero', solve(0), 'many')\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":"Only the explicitly specified miniature locale/message rules are modeled. 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":"z-localization-teen-exclusion","generated_at":"2026-09-29T14:38:50.556503+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"This offline controlled message model isolates a localization decision; it does not implement a complete message-format or locale standard.","root_cause":"A final-digit lookup ignores the final-two-digit teen exclusion.","sha256":"c62846063b153fda7f0b5447c270a83a075df5b1a56fb9ccb7552311b1da0baa","title":"Last-digit plural rules misclassify teen quantities · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":39.041,"exit_code":1,"observations":[{"actual":"one","check":"one","expected":"one","passed":true},{"actual":"many","check":"eleven","expected":"many","passed":true},{"actual":"few","check":"twelve","expected":"many","passed":false},{"actual":"few","check":"fourteen","expected":"many","passed":false},{"actual":"few","check":"few","expected":"few","passed":true},{"actual":"many","check":"zero","expected":"many","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"one\", \"actual\": \"one\", \"expected\": \"one\", \"passed\": true}, {\"check\": \"eleven\", \"actual\": \"many\", \"expected\": \"many\", \"passed\": true}, {\"check\": \"twelve\", \"actual\": \"few\", \"expected\": \"many\", \"passed\": false}, {\"check\": \"fourteen\", \"actual\": \"few\", \"expected\": \"many\", \"passed\": false}, {\"check\": \"few\", \"actual\": \"few\", \"expected\": \"few\", \"passed\": true}, {\"check\": \"zero\", \"actual\": \"many\", \"expected\": \"many\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.361,"exit_code":1,"observations":[{"actual":"one","check":"one","expected":"one","passed":true},{"actual":"one","check":"eleven","expected":"many","passed":false},{"actual":"few","check":"twelve","expected":"many","passed":false},{"actual":"few","check":"fourteen","expected":"many","passed":false},{"actual":"few","check":"few","expected":"few","passed":true},{"actual":"many","check":"zero","expected":"many","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"one\", \"actual\": \"one\", \"expected\": \"one\", \"passed\": true}, {\"check\": \"eleven\", \"actual\": \"one\", \"expected\": \"many\", \"passed\": false}, {\"check\": \"twelve\", \"actual\": \"few\", \"expected\": \"many\", \"passed\": false}, {\"check\": \"fourteen\", \"actual\": \"few\", \"expected\": \"many\", \"passed\": false}, {\"check\": \"few\", \"actual\": \"few\", \"expected\": \"few\", \"passed\": true}, {\"check\": \"zero\", \"actual\": \"many\", \"expected\": \"many\", \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}