{"abstract":"A GS separator encoded in set A decodes as \"=\", corrupting GS1 data.","category":"Barcode symbology encoding","checks":8,"contract":"Turn planned Code 128 segments into symbol values (without the checksum). Segments are [set, text], [\"FNC1\"] or [\"SHIFT\", char]. The first set segment emits its start (A 103, B 104, C 105); later set changes emit Code A 101, Code B 100 or Code C 99. Set A encodes 32..95 as ord-32 and 0..31 as ord+64; set B encodes 32..127 as ord-32; set C encodes even-length ASCII digit text as pair values. FNC1 is 102 and needs a prior start; SHIFT (98) is only valid in A or B and encodes one character in the other of A/B. Errors: no-start, bad-shift, bad-c, unencodable.","evaluation_group":"w2-barcode-symbology-encoding-code128-symbol-values","failed_approach":"An offset of 96 produces values above the set A range.","family":"w2-barcode-symbology-encoding-code128-symbol-values-control-offset","id":"FA-79426","implementations":{"attempt":{"sha256":"b88b8f9d01259b6ba2538858b451d95e48049ab99bb637b5250ee086c464a01b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(segs):\n    out = []\n    cur = None\n    starts = {'A': 103, 'B': 104, 'C': 105}\n    switch = {'A': 101, 'B': 100, 'C': 99}\n    def val(s, ch):\n        o = ord(ch)\n        if s == 'A':\n            if 32 <= o <= 95:\n                return o - 32\n            if 0 <= o <= 31:\n                return o + 96\n            return None\n        if 32 <= o <= 127:\n            return o - 32\n        return None\n    for seg in segs:\n        kind = seg[0]\n        if kind == 'FNC1':\n            if cur is None:\n                return {'error': 'no-start'}\n            out.append(102)\n            continue\n        if kind == 'SHIFT':\n            if cur not in ('A', 'B'):\n                return {'error': 'bad-shift'}\n            other = 'B' if cur == 'A' else 'A'\n            v = val(other, seg[1])\n            if v is None:\n                return {'error': 'unencodable', 'char': seg[1]}\n            out += [98, v]\n            continue\n        s, text = seg\n        if cur is None:\n            out.append(starts[s])\n        elif s != cur:\n            out.append(switch[s])\n        cur = s\n        if s == 'C':\n            if len(text) % 2 or not all(c in '0123456789' for c in text):\n                return {'error': 'bad-c'}\n            out += [int(text[j:j + 2]) for j in range(0, len(text), 2)]\n        else:\n            for ch in text:\n                v = val(s, ch)\n                if v is None:\n                    return {'error': 'unencodable', 'char': ch}\n                out.append(v)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[['B', 'Lot 7'], ['A', '\\x00Q'], ['FNC1'], ['C', '4711']], [104, 44, 79, 84, 0, 23, 101, 64, 49, 102, 99, 47, 11]], [[['C', '4711'], ['A', 'X\\x1d1'], ['B', 'ab']], [105, 47, 11, 101, 56, 93, 17, 100, 65, 66]], [[['C', '12'], ['A', 'HELLO']], [105, 12, 101, 40, 37, 44, 44, 47]], [[['B', 'Q'], ['B', '{x}'], ['C', '123']], {'error': 'bad-c'}], [[['B', '{x}'], ['SHIFT', '\\t'], ['C', '1'], ['A', '\\x00Q']], {'error': 'bad-c'}], [[['B', 'ab'], ['A', '\\x00Q'], ['SHIFT', '\\t'], ['FNC1']], {'error': 'unencodable', 'char': '\\t'}], [[['C', '123'], ['FNC1']], {'error': 'bad-c'}], [[['A', 'X\\x1d1']], [103, 56, 93, 17]]], [[[['A', '\\x00Q'], ['B', '{x}'], ['A', 'X\\x1d1'], ['SHIFT', 'z']], [103, 64, 49, 100, 91, 88, 93, 101, 56, 93, 17, 98, 90]], [[['A', 'X\\x1d1']], [103, 56, 93, 17]], [[['A', 'AB'], ['B', 'Q'], ['B', 'z~']], [103, 33, 34, 100, 49, 90, 94]], [[['A', 'AB'], ['FNC1']], [103, 33, 34, 102]], [[['B', 'z~'], ['SHIFT', 'z'], ['FNC1']], {'error': 'unencodable', 'char': 'z'}], [[['C', ' 1'], ['C', '0099'], ['FNC1'], ['SHIFT', '\\x1d']], {'error': 'bad-c'}], [[['B', '{x}'], ['A', '_^']], [104, 91, 88, 93, 101, 63, 62]], [[['A', 'AB'], ['A', '\\x00Q'], ['A', '\\x00Q'], ['B', 'z~']], [103, 33, 34, 64, 49, 64, 49, 100, 90, 94]]], [[[['C', '12'], ['FNC1'], ['C', '4711'], ['A', '\\x00Q']], [105, 12, 102, 47, 11, 101, 64, 49]], [[['A', '\\t'], ['C', '4711'], ['B', 'Q'], ['B', 'ab']], [103, 73, 99, 47, 11, 100, 49, 65, 66]], [[['B', 'Lot 7']], [104, 44, 79, 84, 0, 23]], [[['C', '0099']], [105, 0, 99]], [[['A', 'AB']], [103, 33, 34]], [[['FNC1'], ['FNC1'], ['A', 'HELLO'], ['C', '4711']], {'error': 'no-start'}], [[['C', '12']], [105, 12]], [[['A', 'X\\x1d1']], [103, 56, 93, 17]]], [[[['A', 'X\\x1d1'], ['A', 'HELLO']], [103, 56, 93, 17, 40, 37, 44, 44, 47]], [[['C', '4711'], ['A', '\\t'], ['B', '{x}']], [105, 47, 11, 101, 73, 100, 91, 88, 93]], [[['B', 'z~']], [104, 90, 94]], [[['C', ' 1'], ['FNC1'], ['C', ' 1'], ['A', '_^']], {'error': 'bad-c'}], [[['C', ' 1'], ['C', '0099']], {'error': 'bad-c'}], [[['C', '4711']], [105, 47, 11]], [[['A', 'HELLO'], ['A', '_^'], ['A', '_^']], [103, 40, 37, 44, 44, 47, 63, 62, 63, 62]], [[['C', '4711'], ['B', 'ab'], ['A', 'X\\x1d1']], [105, 47, 11, 100, 65, 66, 101, 56, 93, 17]]], [[[['A', 'X\\x1d1'], ['FNC1'], ['A', '_^'], ['B', '{x}']], [103, 56, 93, 17, 102, 63, 62, 100, 91, 88, 93]], [[['C', '4711'], ['B', '{x}'], ['A', 'X\\x1d1']], [105, 47, 11, 100, 91, 88, 93, 101, 56, 93, 17]], [[['C', '4711'], ['B', 'Q'], ['B', '{x}']], [105, 47, 11, 100, 49, 91, 88, 93]], [[['B', '{x}'], ['B', 'Q']], [104, 91, 88, 93, 49]], [[['A', 'AB']], [103, 33, 34]], [[['FNC1'], ['A', 'X\\x1d1']], {'error': 'no-start'}], [[['B', 'Lot 7']], [104, 44, 79, 84, 0, 23]], [[['A', '\\t'], ['FNC1']], [103, 73, 102]]]]\nlabels = [\"regression: set A control character offset\", \"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":"06199dd88743dd78345045cbef8c80812fe1e23bd7d207ffd364f4f9d962769a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(segs):\n    out = []\n    cur = None\n    starts = {'A': 103, 'B': 104, 'C': 105}\n    switch = {'A': 101, 'B': 100, 'C': 99}\n    def val(s, ch):\n        o = ord(ch)\n        if s == 'A':\n            if 32 <= o <= 95:\n                return o - 32\n            if 0 <= o <= 31:\n                return o + 32\n            return None\n        if 32 <= o <= 127:\n            return o - 32\n        return None\n    for seg in segs:\n        kind = seg[0]\n        if kind == 'FNC1':\n            if cur is None:\n                return {'error': 'no-start'}\n            out.append(102)\n            continue\n        if kind == 'SHIFT':\n            if cur not in ('A', 'B'):\n                return {'error': 'bad-shift'}\n            other = 'B' if cur == 'A' else 'A'\n            v = val(other, seg[1])\n            if v is None:\n                return {'error': 'unencodable', 'char': seg[1]}\n            out += [98, v]\n            continue\n        s, text = seg\n        if cur is None:\n            out.append(starts[s])\n        elif s != cur:\n            out.append(switch[s])\n        cur = s\n        if s == 'C':\n            if len(text) % 2 or not all(c in '0123456789' for c in text):\n                return {'error': 'bad-c'}\n            out += [int(text[j:j + 2]) for j in range(0, len(text), 2)]\n        else:\n            for ch in text:\n                v = val(s, ch)\n                if v is None:\n                    return {'error': 'unencodable', 'char': ch}\n                out.append(v)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[['B', 'Lot 7'], ['A', '\\x00Q'], ['FNC1'], ['C', '4711']], [104, 44, 79, 84, 0, 23, 101, 64, 49, 102, 99, 47, 11]], [[['C', '4711'], ['A', 'X\\x1d1'], ['B', 'ab']], [105, 47, 11, 101, 56, 93, 17, 100, 65, 66]], [[['C', '12'], ['A', 'HELLO']], [105, 12, 101, 40, 37, 44, 44, 47]], [[['B', 'Q'], ['B', '{x}'], ['C', '123']], {'error': 'bad-c'}], [[['B', '{x}'], ['SHIFT', '\\t'], ['C', '1'], ['A', '\\x00Q']], {'error': 'bad-c'}], [[['B', 'ab'], ['A', '\\x00Q'], ['SHIFT', '\\t'], ['FNC1']], {'error': 'unencodable', 'char': '\\t'}], [[['C', '123'], ['FNC1']], {'error': 'bad-c'}], [[['A', 'X\\x1d1']], [103, 56, 93, 17]]], [[[['A', '\\x00Q'], ['B', '{x}'], ['A', 'X\\x1d1'], ['SHIFT', 'z']], [103, 64, 49, 100, 91, 88, 93, 101, 56, 93, 17, 98, 90]], [[['A', 'X\\x1d1']], [103, 56, 93, 17]], [[['A', 'AB'], ['B', 'Q'], ['B', 'z~']], [103, 33, 34, 100, 49, 90, 94]], [[['A', 'AB'], ['FNC1']], [103, 33, 34, 102]], [[['B', 'z~'], ['SHIFT', 'z'], ['FNC1']], {'error': 'unencodable', 'char': 'z'}], [[['C', ' 1'], ['C', '0099'], ['FNC1'], ['SHIFT', '\\x1d']], {'error': 'bad-c'}], [[['B', '{x}'], ['A', '_^']], [104, 91, 88, 93, 101, 63, 62]], [[['A', 'AB'], ['A', '\\x00Q'], ['A', '\\x00Q'], ['B', 'z~']], [103, 33, 34, 64, 49, 64, 49, 100, 90, 94]]], [[[['C', '12'], ['FNC1'], ['C', '4711'], ['A', '\\x00Q']], [105, 12, 102, 47, 11, 101, 64, 49]], [[['A', '\\t'], ['C', '4711'], ['B', 'Q'], ['B', 'ab']], [103, 73, 99, 47, 11, 100, 49, 65, 66]], [[['B', 'Lot 7']], [104, 44, 79, 84, 0, 23]], [[['C', '0099']], [105, 0, 99]], [[['A', 'AB']], [103, 33, 34]], [[['FNC1'], ['FNC1'], ['A', 'HELLO'], ['C', '4711']], {'error': 'no-start'}], [[['C', '12']], [105, 12]], [[['A', 'X\\x1d1']], [103, 56, 93, 17]]], [[[['A', 'X\\x1d1'], ['A', 'HELLO']], [103, 56, 93, 17, 40, 37, 44, 44, 47]], [[['C', '4711'], ['A', '\\t'], ['B', '{x}']], [105, 47, 11, 101, 73, 100, 91, 88, 93]], [[['B', 'z~']], [104, 90, 94]], [[['C', ' 1'], ['FNC1'], ['C', ' 1'], ['A', '_^']], {'error': 'bad-c'}], [[['C', ' 1'], ['C', '0099']], {'error': 'bad-c'}], [[['C', '4711']], [105, 47, 11]], [[['A', 'HELLO'], ['A', '_^'], ['A', '_^']], [103, 40, 37, 44, 44, 47, 63, 62, 63, 62]], [[['C', '4711'], ['B', 'ab'], ['A', 'X\\x1d1']], [105, 47, 11, 100, 65, 66, 101, 56, 93, 17]]], [[[['A', 'X\\x1d1'], ['FNC1'], ['A', '_^'], ['B', '{x}']], [103, 56, 93, 17, 102, 63, 62, 100, 91, 88, 93]], [[['C', '4711'], ['B', '{x}'], ['A', 'X\\x1d1']], [105, 47, 11, 100, 91, 88, 93, 101, 56, 93, 17]], [[['C', '4711'], ['B', 'Q'], ['B', '{x}']], [105, 47, 11, 100, 49, 91, 88, 93]], [[['B', '{x}'], ['B', 'Q']], [104, 91, 88, 93, 49]], [[['A', 'AB']], [103, 33, 34]], [[['FNC1'], ['A', 'X\\x1d1']], {'error': 'no-start'}], [[['B', 'Lot 7']], [104, 44, 79, 84, 0, 23]], [[['A', '\\t'], ['FNC1']], [103, 73, 102]]]]\nlabels = [\"regression: set A control character offset\", \"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"},"fixed":{"sha256":"e00fc5bd374ea2aa0147bd38d459b7e58dde8b6ff692609da78f87964f3b512d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(segs):\n    out = []\n    cur = None\n    starts = {'A': 103, 'B': 104, 'C': 105}\n    switch = {'A': 101, 'B': 100, 'C': 99}\n    def val(s, ch):\n        o = ord(ch)\n        if s == 'A':\n            if 32 <= o <= 95:\n                return o - 32\n            if 0 <= o <= 31:\n                return o + 64\n            return None\n        if 32 <= o <= 127:\n            return o - 32\n        return None\n    for seg in segs:\n        kind = seg[0]\n        if kind == 'FNC1':\n            if cur is None:\n                return {'error': 'no-start'}\n            out.append(102)\n            continue\n        if kind == 'SHIFT':\n            if cur not in ('A', 'B'):\n                return {'error': 'bad-shift'}\n            other = 'B' if cur == 'A' else 'A'\n            v = val(other, seg[1])\n            if v is None:\n                return {'error': 'unencodable', 'char': seg[1]}\n            out += [98, v]\n            continue\n        s, text = seg\n        if cur is None:\n            out.append(starts[s])\n        elif s != cur:\n            out.append(switch[s])\n        cur = s\n        if s == 'C':\n            if len(text) % 2 or not all(c in '0123456789' for c in text):\n                return {'error': 'bad-c'}\n            out += [int(text[j:j + 2]) for j in range(0, len(text), 2)]\n        else:\n            for ch in text:\n                v = val(s, ch)\n                if v is None:\n                    return {'error': 'unencodable', 'char': ch}\n                out.append(v)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[['B', 'Lot 7'], ['A', '\\x00Q'], ['FNC1'], ['C', '4711']], [104, 44, 79, 84, 0, 23, 101, 64, 49, 102, 99, 47, 11]], [[['C', '4711'], ['A', 'X\\x1d1'], ['B', 'ab']], [105, 47, 11, 101, 56, 93, 17, 100, 65, 66]], [[['C', '12'], ['A', 'HELLO']], [105, 12, 101, 40, 37, 44, 44, 47]], [[['B', 'Q'], ['B', '{x}'], ['C', '123']], {'error': 'bad-c'}], [[['B', '{x}'], ['SHIFT', '\\t'], ['C', '1'], ['A', '\\x00Q']], {'error': 'bad-c'}], [[['B', 'ab'], ['A', '\\x00Q'], ['SHIFT', '\\t'], ['FNC1']], {'error': 'unencodable', 'char': '\\t'}], [[['C', '123'], ['FNC1']], {'error': 'bad-c'}], [[['A', 'X\\x1d1']], [103, 56, 93, 17]]], [[[['A', '\\x00Q'], ['B', '{x}'], ['A', 'X\\x1d1'], ['SHIFT', 'z']], [103, 64, 49, 100, 91, 88, 93, 101, 56, 93, 17, 98, 90]], [[['A', 'X\\x1d1']], [103, 56, 93, 17]], [[['A', 'AB'], ['B', 'Q'], ['B', 'z~']], [103, 33, 34, 100, 49, 90, 94]], [[['A', 'AB'], ['FNC1']], [103, 33, 34, 102]], [[['B', 'z~'], ['SHIFT', 'z'], ['FNC1']], {'error': 'unencodable', 'char': 'z'}], [[['C', ' 1'], ['C', '0099'], ['FNC1'], ['SHIFT', '\\x1d']], {'error': 'bad-c'}], [[['B', '{x}'], ['A', '_^']], [104, 91, 88, 93, 101, 63, 62]], [[['A', 'AB'], ['A', '\\x00Q'], ['A', '\\x00Q'], ['B', 'z~']], [103, 33, 34, 64, 49, 64, 49, 100, 90, 94]]], [[[['C', '12'], ['FNC1'], ['C', '4711'], ['A', '\\x00Q']], [105, 12, 102, 47, 11, 101, 64, 49]], [[['A', '\\t'], ['C', '4711'], ['B', 'Q'], ['B', 'ab']], [103, 73, 99, 47, 11, 100, 49, 65, 66]], [[['B', 'Lot 7']], [104, 44, 79, 84, 0, 23]], [[['C', '0099']], [105, 0, 99]], [[['A', 'AB']], [103, 33, 34]], [[['FNC1'], ['FNC1'], ['A', 'HELLO'], ['C', '4711']], {'error': 'no-start'}], [[['C', '12']], [105, 12]], [[['A', 'X\\x1d1']], [103, 56, 93, 17]]], [[[['A', 'X\\x1d1'], ['A', 'HELLO']], [103, 56, 93, 17, 40, 37, 44, 44, 47]], [[['C', '4711'], ['A', '\\t'], ['B', '{x}']], [105, 47, 11, 101, 73, 100, 91, 88, 93]], [[['B', 'z~']], [104, 90, 94]], [[['C', ' 1'], ['FNC1'], ['C', ' 1'], ['A', '_^']], {'error': 'bad-c'}], [[['C', ' 1'], ['C', '0099']], {'error': 'bad-c'}], [[['C', '4711']], [105, 47, 11]], [[['A', 'HELLO'], ['A', '_^'], ['A', '_^']], [103, 40, 37, 44, 44, 47, 63, 62, 63, 62]], [[['C', '4711'], ['B', 'ab'], ['A', 'X\\x1d1']], [105, 47, 11, 100, 65, 66, 101, 56, 93, 17]]], [[[['A', 'X\\x1d1'], ['FNC1'], ['A', '_^'], ['B', '{x}']], [103, 56, 93, 17, 102, 63, 62, 100, 91, 88, 93]], [[['C', '4711'], ['B', '{x}'], ['A', 'X\\x1d1']], [105, 47, 11, 100, 91, 88, 93, 101, 56, 93, 17]], [[['C', '4711'], ['B', 'Q'], ['B', '{x}']], [105, 47, 11, 100, 49, 91, 88, 93]], [[['B', '{x}'], ['B', 'Q']], [104, 91, 88, 93, 49]], [[['A', 'AB']], [103, 33, 34]], [[['FNC1'], ['A', 'X\\x1d1']], {'error': 'no-start'}], [[['B', 'Lot 7']], [104, 44, 79, 84, 0, 23]], [[['A', '\\t'], ['FNC1']], [103, 73, 102]]]]\nlabels = [\"regression: set A control character offset\", \"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-code128-symbol-values-control-offset","generated_at":"2026-09-29T14:49:44.437096+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.","repair":"Encode control characters in set A as ord + 64.","root_cause":"Control codes 0..31 are offset by 32, landing on the values for printable characters.","sha256":"401de13fd3674fd93c2bdc43eb3938e7999cbae5d0187c7cc5371cf5deb0767d","title":"Code 128 set A shifts control characters into the digit range · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.548,"exit_code":1,"observations":[{"actual":[104,44,79,84,0,23,101,96,49,102,99,47,11],"check":"regression: set A control character offset 0","expected":[104,44,79,84,0,23,101,64,49,102,99,47,11],"passed":false},{"actual":[105,47,11,101,56,125,17,100,65,66],"check":"repair trap 1","expected":[105,47,11,101,56,93,17,100,65,66],"passed":false},{"actual":[105,12,101,40,37,44,44,47],"check":"combined fault 2","expected":[105,12,101,40,37,44,44,47],"passed":true},{"actual":{"error":"bad-c"},"check":"control 3","expected":{"error":"bad-c"},"passed":true},{"actual":{"error":"bad-c"},"check":"control 4","expected":{"error":"bad-c"},"passed":true},{"actual":{"char":"\t","error":"unencodable"},"check":"boundary 5","expected":{"char":"\t","error":"unencodable"},"passed":true},{"actual":{"error":"bad-c"},"check":"boundary 6","expected":{"error":"bad-c"},"passed":true},{"actual":[103,56,125,17],"check":"control 7","expected":[103,56,93,17],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: set A control character offset 0\", \"actual\": [104, 44, 79, 84, 0, 23, 101, 96, 49, 102, 99, 47, 11], \"expected\": [104, 44, 79, 84, 0, 23, 101, 64, 49, 102, 99, 47, 11], \"passed\": false}, {\"check\": \"repair trap 1\", \"actual\": [105, 47, 11, 101, 56, 125, 17, 100, 65, 66], \"expected\": [105, 47, 11, 101, 56, 93, 17, 100, 65, 66], \"passed\": false}, {\"check\": \"combined fault 2\", \"actual\": [105, 12, 101, 40, 37, 44, 44, 47], \"expected\": [105, 12, 101, 40, 37, 44, 44, 47], \"passed\": true}, {\"check\": \"control 3\", \"actual\": {\"error\": \"bad-c\"}, \"expected\": {\"error\": \"bad-c\"}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"error\": \"bad-c\"}, \"expected\": {\"error\": \"bad-c\"}, \"passed\": true}, {\"check\": \"boundary 5\", \"actual\": {\"error\": \"unencodable\", \"char\": \"\\t\"}, \"expected\": {\"error\": \"unencodable\", \"char\": \"\\t\"}, \"passed\": true}, {\"check\": \"boundary 6\", \"actual\": {\"error\": \"bad-c\"}, \"expected\": {\"error\": \"bad-c\"}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": [103, 56, 125, 17], \"expected\": [103, 56, 93, 17], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.252,"exit_code":1,"observations":[{"actual":[104,44,79,84,0,23,101,32,49,102,99,47,11],"check":"regression: set A control character offset 0","expected":[104,44,79,84,0,23,101,64,49,102,99,47,11],"passed":false},{"actual":[105,47,11,101,56,61,17,100,65,66],"check":"repair trap 1","expected":[105,47,11,101,56,93,17,100,65,66],"passed":false},{"actual":[105,12,101,40,37,44,44,47],"check":"combined fault 2","expected":[105,12,101,40,37,44,44,47],"passed":true},{"actual":{"error":"bad-c"},"check":"control 3","expected":{"error":"bad-c"},"passed":true},{"actual":{"error":"bad-c"},"check":"control 4","expected":{"error":"bad-c"},"passed":true},{"actual":{"char":"\t","error":"unencodable"},"check":"boundary 5","expected":{"char":"\t","error":"unencodable"},"passed":true},{"actual":{"error":"bad-c"},"check":"boundary 6","expected":{"error":"bad-c"},"passed":true},{"actual":[103,56,61,17],"check":"control 7","expected":[103,56,93,17],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: set A control character offset 0\", \"actual\": [104, 44, 79, 84, 0, 23, 101, 32, 49, 102, 99, 47, 11], \"expected\": [104, 44, 79, 84, 0, 23, 101, 64, 49, 102, 99, 47, 11], \"passed\": false}, {\"check\": \"repair trap 1\", \"actual\": [105, 47, 11, 101, 56, 61, 17, 100, 65, 66], \"expected\": [105, 47, 11, 101, 56, 93, 17, 100, 65, 66], \"passed\": false}, {\"check\": \"combined fault 2\", \"actual\": [105, 12, 101, 40, 37, 44, 44, 47], \"expected\": [105, 12, 101, 40, 37, 44, 44, 47], \"passed\": true}, {\"check\": \"control 3\", \"actual\": {\"error\": \"bad-c\"}, \"expected\": {\"error\": \"bad-c\"}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"error\": \"bad-c\"}, \"expected\": {\"error\": \"bad-c\"}, \"passed\": true}, {\"check\": \"boundary 5\", \"actual\": {\"error\": \"unencodable\", \"char\": \"\\t\"}, \"expected\": {\"error\": \"unencodable\", \"char\": \"\\t\"}, \"passed\": true}, {\"check\": \"boundary 6\", \"actual\": {\"error\": \"bad-c\"}, \"expected\": {\"error\": \"bad-c\"}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": [103, 56, 61, 17], \"expected\": [103, 56, 93, 17], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.967,"exit_code":0,"observations":[{"actual":[104,44,79,84,0,23,101,64,49,102,99,47,11],"check":"regression: set A control character offset 0","expected":[104,44,79,84,0,23,101,64,49,102,99,47,11],"passed":true},{"actual":[105,47,11,101,56,93,17,100,65,66],"check":"repair trap 1","expected":[105,47,11,101,56,93,17,100,65,66],"passed":true},{"actual":[105,12,101,40,37,44,44,47],"check":"combined fault 2","expected":[105,12,101,40,37,44,44,47],"passed":true},{"actual":{"error":"bad-c"},"check":"control 3","expected":{"error":"bad-c"},"passed":true},{"actual":{"error":"bad-c"},"check":"control 4","expected":{"error":"bad-c"},"passed":true},{"actual":{"char":"\t","error":"unencodable"},"check":"boundary 5","expected":{"char":"\t","error":"unencodable"},"passed":true},{"actual":{"error":"bad-c"},"check":"boundary 6","expected":{"error":"bad-c"},"passed":true},{"actual":[103,56,93,17],"check":"control 7","expected":[103,56,93,17],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: set A control character offset 0\", \"actual\": [104, 44, 79, 84, 0, 23, 101, 64, 49, 102, 99, 47, 11], \"expected\": [104, 44, 79, 84, 0, 23, 101, 64, 49, 102, 99, 47, 11], \"passed\": true}, {\"check\": \"repair trap 1\", \"actual\": [105, 47, 11, 101, 56, 93, 17, 100, 65, 66], \"expected\": [105, 47, 11, 101, 56, 93, 17, 100, 65, 66], \"passed\": true}, {\"check\": \"combined fault 2\", \"actual\": [105, 12, 101, 40, 37, 44, 44, 47], \"expected\": [105, 12, 101, 40, 37, 44, 44, 47], \"passed\": true}, {\"check\": \"control 3\", \"actual\": {\"error\": \"bad-c\"}, \"expected\": {\"error\": \"bad-c\"}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"error\": \"bad-c\"}, \"expected\": {\"error\": \"bad-c\"}, \"passed\": true}, {\"check\": \"boundary 5\", \"actual\": {\"error\": \"unencodable\", \"char\": \"\\t\"}, \"expected\": {\"error\": \"unencodable\", \"char\": \"\\t\"}, \"passed\": true}, {\"check\": \"boundary 6\", \"actual\": {\"error\": \"bad-c\"}, \"expected\": {\"error\": \"bad-c\"}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": [103, 56, 93, 17], \"expected\": [103, 56, 93, 17], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}