{"abstract":"Oversized wide elements push the symbol beyond its allocated width.","category":"Barcode symbology encoding","checks":8,"contract":"Validate and size a Codabar symbol text with a wide:narrow ratio between 2 and 3 inclusive. The first and last characters must be start/stop letters A-D (uppercase only, at least two characters); body characters are 0-9 - $ : / . +. Each character has 7 elements: digits, \"-\" and \"$\" have 2 wide elements, \": / . +\" and A-D have 3. One narrow gap separates adjacent characters. Return the total width in narrow modules or an error.","contract_signature":"text, ratio","evaluation_group":"w2-barcode-symbology-encoding-codabar-width","failed_approach":"An exclusive lower bound rejects the common 2:1 ratio.","family":"w2-barcode-symbology-encoding-codabar-width-ratio-bounds","id":"FA-79571","implementations":{"attempt":{"sha256":"9e452180d46c02b0da7bfadc358be42ab814ae7b6587270064fa7581f6fa46bf","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(text, ratio):\n    if not 2 < ratio <= 3:\n        return {'error': 'ratio'}\n    if len(text) < 2:\n        return {'error': 'short'}\n    if text[0] not in 'ABCD' or text[-1] not in 'ABCD':\n        return {'error': 'start-stop'}\n    body = text[1:-1]\n    for ch in body:\n        if ch not in '0123456789-$:/.+':\n            return {'error': 'char', 'char': ch}\n    total = 0\n    for ch in text:\n        wides = 2 if ch in '0123456789-$' else 3\n        total += (7 - wides) + wides * ratio\n    return {'modules': total + len(text) - 1}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[('D$554A', 4), {'error': 'ratio'}], [('A5547:T', 2), {'error': 'start-stop'}], [('DA/40D', 2.5), {'error': 'char', 'char': 'A'}], [('AE2$5C', 3), {'error': 'char', 'char': 'E'}], [('a+d', 2.5), {'error': 'start-stop'}], [('ad', 3), {'error': 'start-stop'}], [('C5525D', 1.5), {'error': 'ratio'}], [('D97.5D', 4), {'error': 'ratio'}]], [[('D.48E6C', 4), {'error': 'ratio'}], [('CD', 2), {'modules': 21}], [('a3/AC', 3), {'error': 'start-stop'}], [('A/59$T', 3), {'error': 'start-stop'}], [('C773C', 1.5), {'error': 'ratio'}], [('a2$A', 1.5), {'error': 'ratio'}], [('BE3Ed', 2.5), {'error': 'start-stop'}], [('A63$T', 4), {'error': 'ratio'}]], [[('a6C', 4), {'error': 'ratio'}], [('aEd', 2), {'error': 'start-stop'}], [('a958$3C', 1.5), {'error': 'ratio'}], [('D5357T', 1.5), {'error': 'ratio'}], [('A:5A$D', 3), {'error': 'char', 'char': 'A'}], [('A$0552T', 2.5), {'error': 'start-stop'}], [('A/.ET', 1.5), {'error': 'ratio'}], [('a+A', 4), {'error': 'ratio'}]], [[('A9d', 4), {'error': 'ratio'}], [('D67C', 2), {'modules': 41}], [('D55B', 3), {'modules': 51}], [('B+-+-5B', 1.5), {'error': 'ratio'}], [('A95-42T', 1.5), {'error': 'ratio'}], [('aT', 2.5), {'error': 'start-stop'}], [('A55+5A', 3), {'modules': 77}], [('a/55--d', 4), {'error': 'ratio'}]], [[('C0.9.D', 4), {'error': 'ratio'}], [('a5C', 2), {'error': 'start-stop'}], [('A97+$5d', 2.5), {'error': 'start-stop'}], [('B5C', 3), {'modules': 39}], [('aB', 3), {'error': 'start-stop'}], [('a/D', 3), {'error': 'start-stop'}], [('A117.T', 2.5), {'error': 'start-stop'}], [('AT', 4), {'error': 'ratio'}]]]\nlabels = [\"regression: ratio validation bounds\", \"repair trap\", \"combined fault\", \"control\", \"control\", \"boundary\", \"boundary\", \"control\"]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"%s %d\" % (labels[i % len(labels)], i), 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":"5a2d52a72b3c5f10a566d9258c492b46926b5e7246ae6ff4cf6a8ca15a21e356","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(text, ratio):\n    if ratio < 2:\n        return {'error': 'ratio'}\n    if len(text) < 2:\n        return {'error': 'short'}\n    if text[0] not in 'ABCD' or text[-1] not in 'ABCD':\n        return {'error': 'start-stop'}\n    body = text[1:-1]\n    for ch in body:\n        if ch not in '0123456789-$:/.+':\n            return {'error': 'char', 'char': ch}\n    total = 0\n    for ch in text:\n        wides = 2 if ch in '0123456789-$' else 3\n        total += (7 - wides) + wides * ratio\n    return {'modules': total + len(text) - 1}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[('D$554A', 4), {'error': 'ratio'}], [('A5547:T', 2), {'error': 'start-stop'}], [('DA/40D', 2.5), {'error': 'char', 'char': 'A'}], [('AE2$5C', 3), {'error': 'char', 'char': 'E'}], [('a+d', 2.5), {'error': 'start-stop'}], [('ad', 3), {'error': 'start-stop'}], [('C5525D', 1.5), {'error': 'ratio'}], [('D97.5D', 4), {'error': 'ratio'}]], [[('D.48E6C', 4), {'error': 'ratio'}], [('CD', 2), {'modules': 21}], [('a3/AC', 3), {'error': 'start-stop'}], [('A/59$T', 3), {'error': 'start-stop'}], [('C773C', 1.5), {'error': 'ratio'}], [('a2$A', 1.5), {'error': 'ratio'}], [('BE3Ed', 2.5), {'error': 'start-stop'}], [('A63$T', 4), {'error': 'ratio'}]], [[('a6C', 4), {'error': 'ratio'}], [('aEd', 2), {'error': 'start-stop'}], [('a958$3C', 1.5), {'error': 'ratio'}], [('D5357T', 1.5), {'error': 'ratio'}], [('A:5A$D', 3), {'error': 'char', 'char': 'A'}], [('A$0552T', 2.5), {'error': 'start-stop'}], [('A/.ET', 1.5), {'error': 'ratio'}], [('a+A', 4), {'error': 'ratio'}]], [[('A9d', 4), {'error': 'ratio'}], [('D67C', 2), {'modules': 41}], [('D55B', 3), {'modules': 51}], [('B+-+-5B', 1.5), {'error': 'ratio'}], [('A95-42T', 1.5), {'error': 'ratio'}], [('aT', 2.5), {'error': 'start-stop'}], [('A55+5A', 3), {'modules': 77}], [('a/55--d', 4), {'error': 'ratio'}]], [[('C0.9.D', 4), {'error': 'ratio'}], [('a5C', 2), {'error': 'start-stop'}], [('A97+$5d', 2.5), {'error': 'start-stop'}], [('B5C', 3), {'modules': 39}], [('aB', 3), {'error': 'start-stop'}], [('a/D', 3), {'error': 'start-stop'}], [('A117.T', 2.5), {'error': 'start-stop'}], [('AT', 4), {'error': 'ratio'}]]]\nlabels = [\"regression: ratio validation bounds\", \"repair trap\", \"combined fault\", \"control\", \"control\", \"boundary\", \"boundary\", \"control\"]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check(\"%s %d\" % (labels[i % len(labels)], i), 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 with a stipulated contract; it makes no claim of conformance to any published specification. 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-barcode-symbology-encoding-codabar-width-ratio-bounds","generated_at":"2026-09-29T14:49:45.714729+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Retail, logistics, pharmacy and document workflows depend on encoders that produce exactly the module pattern, code-set switches, separators and quiet zones scanners expect; one misplaced module or separator makes a label unreadable or, worse, scan as different data.","root_cause":"Only the lower ratio bound is enforced.","sha256":"9e14aaea9be7337e136d5ec19b22af931e1a8ea3bf2871f128714475d7fcb687","title":"Codabar accepts ratios above 3 · 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.039,"exit_code":1,"observations":[{"actual":{"error":"ratio"},"check":"regression: ratio validation bounds 0","expected":{"error":"ratio"},"passed":true},{"actual":{"error":"ratio"},"check":"repair trap 1","expected":{"error":"start-stop"},"passed":false},{"actual":{"char":"A","error":"char"},"check":"combined fault 2","expected":{"char":"A","error":"char"},"passed":true},{"actual":{"char":"E","error":"char"},"check":"control 3","expected":{"char":"E","error":"char"},"passed":true},{"actual":{"error":"start-stop"},"check":"control 4","expected":{"error":"start-stop"},"passed":true},{"actual":{"error":"start-stop"},"check":"boundary 5","expected":{"error":"start-stop"},"passed":true},{"actual":{"error":"ratio"},"check":"boundary 6","expected":{"error":"ratio"},"passed":true},{"actual":{"error":"ratio"},"check":"control 7","expected":{"error":"ratio"},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: ratio validation bounds 0\", \"actual\": {\"error\": \"ratio\"}, \"expected\": {\"error\": \"ratio\"}, \"passed\": true}, {\"check\": \"repair trap 1\", \"actual\": {\"error\": \"ratio\"}, \"expected\": {\"error\": \"start-stop\"}, \"passed\": false}, {\"check\": \"combined fault 2\", \"actual\": {\"error\": \"char\", \"char\": \"A\"}, \"expected\": {\"error\": \"char\", \"char\": \"A\"}, \"passed\": true}, {\"check\": \"control 3\", \"actual\": {\"error\": \"char\", \"char\": \"E\"}, \"expected\": {\"error\": \"char\", \"char\": \"E\"}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"error\": \"start-stop\"}, \"expected\": {\"error\": \"start-stop\"}, \"passed\": true}, {\"check\": \"boundary 5\", \"actual\": {\"error\": \"start-stop\"}, \"expected\": {\"error\": \"start-stop\"}, \"passed\": true}, {\"check\": \"boundary 6\", \"actual\": {\"error\": \"ratio\"}, \"expected\": {\"error\": \"ratio\"}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": {\"error\": \"ratio\"}, \"expected\": {\"error\": \"ratio\"}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.107,"exit_code":1,"observations":[{"actual":{"modules":89},"check":"regression: ratio validation bounds 0","expected":{"error":"ratio"},"passed":false},{"actual":{"error":"start-stop"},"check":"repair trap 1","expected":{"error":"start-stop"},"passed":true},{"actual":{"char":"A","error":"char"},"check":"combined fault 2","expected":{"char":"A","error":"char"},"passed":true},{"actual":{"char":"E","error":"char"},"check":"control 3","expected":{"char":"E","error":"char"},"passed":true},{"actual":{"error":"start-stop"},"check":"control 4","expected":{"error":"start-stop"},"passed":true},{"actual":{"error":"start-stop"},"check":"boundary 5","expected":{"error":"start-stop"},"passed":true},{"actual":{"error":"ratio"},"check":"boundary 6","expected":{"error":"ratio"},"passed":true},{"actual":{"modules":92},"check":"control 7","expected":{"error":"ratio"},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: ratio validation bounds 0\", \"actual\": {\"modules\": 89}, \"expected\": {\"error\": \"ratio\"}, \"passed\": false}, {\"check\": \"repair trap 1\", \"actual\": {\"error\": \"start-stop\"}, \"expected\": {\"error\": \"start-stop\"}, \"passed\": true}, {\"check\": \"combined fault 2\", \"actual\": {\"error\": \"char\", \"char\": \"A\"}, \"expected\": {\"error\": \"char\", \"char\": \"A\"}, \"passed\": true}, {\"check\": \"control 3\", \"actual\": {\"error\": \"char\", \"char\": \"E\"}, \"expected\": {\"error\": \"char\", \"char\": \"E\"}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"error\": \"start-stop\"}, \"expected\": {\"error\": \"start-stop\"}, \"passed\": true}, {\"check\": \"boundary 5\", \"actual\": {\"error\": \"start-stop\"}, \"expected\": {\"error\": \"start-stop\"}, \"passed\": true}, {\"check\": \"boundary 6\", \"actual\": {\"error\": \"ratio\"}, \"expected\": {\"error\": \"ratio\"}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": {\"modules\": 92}, \"expected\": {\"error\": \"ratio\"}, \"passed\": false}], \"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."}}