{"abstract":"Labels from printers that add FNC1 after every field fail to parse.","category":"Barcode symbology encoding","checks":8,"contract":"Parse scanner output of a GS1-128 symbol: it must start with the symbology identifier \"]C1\"; FNC1 separators arrive as GS (0x1D) and redundant separators are skipped. AIs are recognised by the shortest matching prefix among the predefined fixed-length AIs (00:18, 01/02:14, 11/13/15/17:6, 3103:6) and variable AIs (10/21 max 20, 30/37 max 8, 400 max 30). A fixed field must be complete and contain no GS; a variable field runs to the next GS or the end and must have 1..max characters. Return [[ai, value], ...] or an error.","evaluation_group":"w2-barcode-symbology-encoding-gs1-scan-parse","failed_approach":"Skipping only a GS right after the identifier misses separators between fields.","family":"w2-barcode-symbology-encoding-gs1-scan-parse-redundant-separator","id":"FA-79611","implementations":{"attempt":{"sha256":"140a2205314ed71d30fe757a57dc67e0ffa7751587a1d940f0c19ac781b912a5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(s):\n    fixed_len = {'00': 18, '01': 14, '02': 14, '11': 6, '13': 6, '15': 6, '17': 6, '3103': 6}\n    var_max = {'10': 20, '21': 20, '30': 8, '37': 8, '400': 30}\n    if not s.startswith(']C1'):\n        return {'error': 'not-gs1'}\n    i = 3\n    out = []\n    while i < len(s):\n        if s[i] == '\\x1d' and i == 3:\n            i += 1\n            continue\n        ai = None\n        for L in (2, 3, 4):\n            if s[i:i + L] in fixed_len or s[i:i + L] in var_max:\n                ai = s[i:i + L]\n                break\n        if ai is None:\n            return {'error': 'unknown-ai', 'at': i}\n        i += len(ai)\n        if ai in fixed_len:\n            n = fixed_len[ai]\n            val = s[i:i + n]\n            if len(val) != n or '\\x1d' in val:\n                return {'error': 'short', 'ai': ai}\n            i += n\n        else:\n            j = s.find('\\x1d', i)\n            if j == -1:\n                j = len(s)\n            val = s[i:j]\n            if not 1 <= len(val) <= var_max[ai]:\n                return {'error': 'length', 'ai': ai}\n            i = j\n        out.append([ai, val])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[']C117140648306\\x1d0141294680397442\\x1d', [['17', '140648'], ['30', '6'], ['01', '41294680397442']]], [']C10031628106322192486810-B-1C99//CXB\\x1d400991XX/BC9-9/C/B-BA\\x1d10-/-X-X1//BB/19-A-1A', [['00', '316281063221924868'], ['10', '-B-1C99//CXB'], ['400', '991XX/BC9-9/C/B-BA'], ['10', '-/-X-X1//BB/19-A-1A']]], [']C011400783', {'error': 'not-gs1'}], [']C03019\\x1d10B9', {'error': 'not-gs1'}], [']d221B-1BA9-B\\x1d219X91//1X9-/1A-C\\x1d10BBCB1-9/-/9//-/BC1-A-X\\x1d21/ABXAX9C-CC/-\\x1d', {'error': 'not-gs1'}], [']C0\\x1d3028612956', {'error': 'not-gs1'}], [']d24009-X-1X1B/XAB/-9-9/X\\x1d11103161400-A119BBXX-AX--1XB-C\\x1d', {'error': 'not-gs1'}], [']C1306\\x1d21ABB1A-1/-C/91X', [['30', '6'], ['21', 'ABB1A-1/-C/91X']]]], [[']C1310361473240011XBBC-1-CX1B-\\x1d371255\\x1d219X9B-C/', [['3103', '614732'], ['400', '11XBBC-1-CX1B-'], ['37', '1255'], ['21', '9X9B-C/']]], [']C1373238\\x1d', [['37', '3238']]], [']C10044603095506351280311060380310300579483495402726338', {'error': 'unknown-ai', 'at': 41}], [']d211029205\\x1d01139908024073283027281846\\x1d10-X9C\\x1d', {'error': 'not-gs1'}], [']C030473952263\\x1d375323374', {'error': 'not-gs1'}], [']d23103386456', {'error': 'not-gs1'}], [']C030072\\x1d303326538', {'error': 'not-gs1'}], [']C117074388\\x1d10ABCAA///BCA/B\\x1d30850\\x1d400CA1//9', [['17', '074388'], ['10', 'ABCAA///BCA/B'], ['30', '850'], ['400', 'CA1//9']]]], [[']C117595764400A//-X1BCCBA9AX/-/99\\x1d21CABB119BX1/19111XX\\x1d3703\\x1d', [['17', '595764'], ['400', 'A//-X1BCCBA9AX/-/99'], ['21', 'CABB119BX1/19111XX'], ['37', '03']]], [']C121-1CB9--/1-9X-B9X1\\x1d00264947902548943503', [['21', '-1CB9--/1-9X-B9X1'], ['00', '264947902548943503']]], [']C111362276', [['11', '362276']]], [']C111990558117862\\x1d10X-11\\x1d0141668383672539', {'error': 'short', 'ai': '11'}], [']d2002942508545382808993103171446', {'error': 'not-gs1'}], [']C1006692098233759925', {'error': 'short', 'ai': '00'}], [']C0013259255554289421A1C9/9--C1\\x1d0109002354118510B1B', {'error': 'not-gs1'}], [']C121-/1-X-9B\\x1d17420369015026678280984317842704\\x1d', [['21', '-/1-X-9B'], ['17', '420369'], ['01', '50266782809843'], ['17', '842704']]]], [[']C1211\\x1d37789365790\\x1d30311652\\x1d', {'error': 'length', 'ai': '37'}], [']C1109--A9-C9CAA-X1\\x1d3103048301', [['10', '9--A9-C9CAA-X1'], ['3103', '048301']]], [']C1308705431', [['30', '8705431']]], [']C010/ACC1C1C/9\\x1d109\\x1d00997634519263772689', {'error': 'not-gs1'}], [']C03103992498', {'error': 'not-gs1'}], [']C037551517779\\x1d37107398', {'error': 'not-gs1'}], [']C037882', {'error': 'not-gs1'}], [']C11100096530067\\x1d17348048', [['11', '000965'], ['30', '067'], ['17', '348048']]]], [[']C1219A9\\x1d17625625\\x1d', [['21', '9A9'], ['17', '625625']]], [']C13103235106211A-/B1\\x1d', [['3103', '235106'], ['21', '1A-/B1']]], [']C01109918000653062932206451941', {'error': 'not-gs1'}], [']C017335622\\x1d10/A/1X9\\x1d1019911-1X/1B1/C-B\\x1d400AX/C', {'error': 'not-gs1'}], [']C121BCAB-C9CCX1/9X/CCX/1-A\\x1d3103050801250114151498', {'error': 'length', 'ai': '21'}], [']C13722241627', [['37', '22241627']]], [']d21722165221XXBCCX-C/B/C11X/AC\\x1d00214639110761933483', {'error': 'not-gs1'}], [']C10109147699409412219X9/BACAA-C1/9X19-B\\x1d21/\\x1d17759960', [['01', '09147699409412'], ['21', '9X9/BACAA-C1/9X19-B'], ['21', '/'], ['17', '759960']]]]]\nlabels = [\"regression: redundant GS skipping\", \"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":"9802e69cd9f0576219a9a80d615fe33c89e6cd84cf7b89f63e1f8d4676dfc09a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(s):\n    fixed_len = {'00': 18, '01': 14, '02': 14, '11': 6, '13': 6, '15': 6, '17': 6, '3103': 6}\n    var_max = {'10': 20, '21': 20, '30': 8, '37': 8, '400': 30}\n    if not s.startswith(']C1'):\n        return {'error': 'not-gs1'}\n    i = 3\n    out = []\n    while i < len(s):\n    \n        ai = None\n        for L in (2, 3, 4):\n            if s[i:i + L] in fixed_len or s[i:i + L] in var_max:\n                ai = s[i:i + L]\n                break\n        if ai is None:\n            return {'error': 'unknown-ai', 'at': i}\n        i += len(ai)\n        if ai in fixed_len:\n            n = fixed_len[ai]\n            val = s[i:i + n]\n            if len(val) != n or '\\x1d' in val:\n                return {'error': 'short', 'ai': ai}\n            i += n\n        else:\n            j = s.find('\\x1d', i)\n            if j == -1:\n                j = len(s)\n            val = s[i:j]\n            if not 1 <= len(val) <= var_max[ai]:\n                return {'error': 'length', 'ai': ai}\n            i = j\n        out.append([ai, val])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[']C117140648306\\x1d0141294680397442\\x1d', [['17', '140648'], ['30', '6'], ['01', '41294680397442']]], [']C10031628106322192486810-B-1C99//CXB\\x1d400991XX/BC9-9/C/B-BA\\x1d10-/-X-X1//BB/19-A-1A', [['00', '316281063221924868'], ['10', '-B-1C99//CXB'], ['400', '991XX/BC9-9/C/B-BA'], ['10', '-/-X-X1//BB/19-A-1A']]], [']C011400783', {'error': 'not-gs1'}], [']C03019\\x1d10B9', {'error': 'not-gs1'}], [']d221B-1BA9-B\\x1d219X91//1X9-/1A-C\\x1d10BBCB1-9/-/9//-/BC1-A-X\\x1d21/ABXAX9C-CC/-\\x1d', {'error': 'not-gs1'}], [']C0\\x1d3028612956', {'error': 'not-gs1'}], [']d24009-X-1X1B/XAB/-9-9/X\\x1d11103161400-A119BBXX-AX--1XB-C\\x1d', {'error': 'not-gs1'}], [']C1306\\x1d21ABB1A-1/-C/91X', [['30', '6'], ['21', 'ABB1A-1/-C/91X']]]], [[']C1310361473240011XBBC-1-CX1B-\\x1d371255\\x1d219X9B-C/', [['3103', '614732'], ['400', '11XBBC-1-CX1B-'], ['37', '1255'], ['21', '9X9B-C/']]], [']C1373238\\x1d', [['37', '3238']]], [']C10044603095506351280311060380310300579483495402726338', {'error': 'unknown-ai', 'at': 41}], [']d211029205\\x1d01139908024073283027281846\\x1d10-X9C\\x1d', {'error': 'not-gs1'}], [']C030473952263\\x1d375323374', {'error': 'not-gs1'}], [']d23103386456', {'error': 'not-gs1'}], [']C030072\\x1d303326538', {'error': 'not-gs1'}], [']C117074388\\x1d10ABCAA///BCA/B\\x1d30850\\x1d400CA1//9', [['17', '074388'], ['10', 'ABCAA///BCA/B'], ['30', '850'], ['400', 'CA1//9']]]], [[']C117595764400A//-X1BCCBA9AX/-/99\\x1d21CABB119BX1/19111XX\\x1d3703\\x1d', [['17', '595764'], ['400', 'A//-X1BCCBA9AX/-/99'], ['21', 'CABB119BX1/19111XX'], ['37', '03']]], [']C121-1CB9--/1-9X-B9X1\\x1d00264947902548943503', [['21', '-1CB9--/1-9X-B9X1'], ['00', '264947902548943503']]], [']C111362276', [['11', '362276']]], [']C111990558117862\\x1d10X-11\\x1d0141668383672539', {'error': 'short', 'ai': '11'}], [']d2002942508545382808993103171446', {'error': 'not-gs1'}], [']C1006692098233759925', {'error': 'short', 'ai': '00'}], [']C0013259255554289421A1C9/9--C1\\x1d0109002354118510B1B', {'error': 'not-gs1'}], [']C121-/1-X-9B\\x1d17420369015026678280984317842704\\x1d', [['21', '-/1-X-9B'], ['17', '420369'], ['01', '50266782809843'], ['17', '842704']]]], [[']C1211\\x1d37789365790\\x1d30311652\\x1d', {'error': 'length', 'ai': '37'}], [']C1109--A9-C9CAA-X1\\x1d3103048301', [['10', '9--A9-C9CAA-X1'], ['3103', '048301']]], [']C1308705431', [['30', '8705431']]], [']C010/ACC1C1C/9\\x1d109\\x1d00997634519263772689', {'error': 'not-gs1'}], [']C03103992498', {'error': 'not-gs1'}], [']C037551517779\\x1d37107398', {'error': 'not-gs1'}], [']C037882', {'error': 'not-gs1'}], [']C11100096530067\\x1d17348048', [['11', '000965'], ['30', '067'], ['17', '348048']]]], [[']C1219A9\\x1d17625625\\x1d', [['21', '9A9'], ['17', '625625']]], [']C13103235106211A-/B1\\x1d', [['3103', '235106'], ['21', '1A-/B1']]], [']C01109918000653062932206451941', {'error': 'not-gs1'}], [']C017335622\\x1d10/A/1X9\\x1d1019911-1X/1B1/C-B\\x1d400AX/C', {'error': 'not-gs1'}], [']C121BCAB-C9CCX1/9X/CCX/1-A\\x1d3103050801250114151498', {'error': 'length', 'ai': '21'}], [']C13722241627', [['37', '22241627']]], [']d21722165221XXBCCX-C/B/C11X/AC\\x1d00214639110761933483', {'error': 'not-gs1'}], [']C10109147699409412219X9/BACAA-C1/9X19-B\\x1d21/\\x1d17759960', [['01', '09147699409412'], ['21', '9X9/BACAA-C1/9X19-B'], ['21', '/'], ['17', '759960']]]]]\nlabels = [\"regression: redundant GS skipping\", \"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":"1e9479ebbfbf5e6d16d2bf6f487c3efa7bb28460b036c760391cb287791c80e1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(s):\n    fixed_len = {'00': 18, '01': 14, '02': 14, '11': 6, '13': 6, '15': 6, '17': 6, '3103': 6}\n    var_max = {'10': 20, '21': 20, '30': 8, '37': 8, '400': 30}\n    if not s.startswith(']C1'):\n        return {'error': 'not-gs1'}\n    i = 3\n    out = []\n    while i < len(s):\n        if s[i] == '\\x1d':\n            i += 1\n            continue\n        ai = None\n        for L in (2, 3, 4):\n            if s[i:i + L] in fixed_len or s[i:i + L] in var_max:\n                ai = s[i:i + L]\n                break\n        if ai is None:\n            return {'error': 'unknown-ai', 'at': i}\n        i += len(ai)\n        if ai in fixed_len:\n            n = fixed_len[ai]\n            val = s[i:i + n]\n            if len(val) != n or '\\x1d' in val:\n                return {'error': 'short', 'ai': ai}\n            i += n\n        else:\n            j = s.find('\\x1d', i)\n            if j == -1:\n                j = len(s)\n            val = s[i:j]\n            if not 1 <= len(val) <= var_max[ai]:\n                return {'error': 'length', 'ai': ai}\n            i = j\n        out.append([ai, val])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[']C117140648306\\x1d0141294680397442\\x1d', [['17', '140648'], ['30', '6'], ['01', '41294680397442']]], [']C10031628106322192486810-B-1C99//CXB\\x1d400991XX/BC9-9/C/B-BA\\x1d10-/-X-X1//BB/19-A-1A', [['00', '316281063221924868'], ['10', '-B-1C99//CXB'], ['400', '991XX/BC9-9/C/B-BA'], ['10', '-/-X-X1//BB/19-A-1A']]], [']C011400783', {'error': 'not-gs1'}], [']C03019\\x1d10B9', {'error': 'not-gs1'}], [']d221B-1BA9-B\\x1d219X91//1X9-/1A-C\\x1d10BBCB1-9/-/9//-/BC1-A-X\\x1d21/ABXAX9C-CC/-\\x1d', {'error': 'not-gs1'}], [']C0\\x1d3028612956', {'error': 'not-gs1'}], [']d24009-X-1X1B/XAB/-9-9/X\\x1d11103161400-A119BBXX-AX--1XB-C\\x1d', {'error': 'not-gs1'}], [']C1306\\x1d21ABB1A-1/-C/91X', [['30', '6'], ['21', 'ABB1A-1/-C/91X']]]], [[']C1310361473240011XBBC-1-CX1B-\\x1d371255\\x1d219X9B-C/', [['3103', '614732'], ['400', '11XBBC-1-CX1B-'], ['37', '1255'], ['21', '9X9B-C/']]], [']C1373238\\x1d', [['37', '3238']]], [']C10044603095506351280311060380310300579483495402726338', {'error': 'unknown-ai', 'at': 41}], [']d211029205\\x1d01139908024073283027281846\\x1d10-X9C\\x1d', {'error': 'not-gs1'}], [']C030473952263\\x1d375323374', {'error': 'not-gs1'}], [']d23103386456', {'error': 'not-gs1'}], [']C030072\\x1d303326538', {'error': 'not-gs1'}], [']C117074388\\x1d10ABCAA///BCA/B\\x1d30850\\x1d400CA1//9', [['17', '074388'], ['10', 'ABCAA///BCA/B'], ['30', '850'], ['400', 'CA1//9']]]], [[']C117595764400A//-X1BCCBA9AX/-/99\\x1d21CABB119BX1/19111XX\\x1d3703\\x1d', [['17', '595764'], ['400', 'A//-X1BCCBA9AX/-/99'], ['21', 'CABB119BX1/19111XX'], ['37', '03']]], [']C121-1CB9--/1-9X-B9X1\\x1d00264947902548943503', [['21', '-1CB9--/1-9X-B9X1'], ['00', '264947902548943503']]], [']C111362276', [['11', '362276']]], [']C111990558117862\\x1d10X-11\\x1d0141668383672539', {'error': 'short', 'ai': '11'}], [']d2002942508545382808993103171446', {'error': 'not-gs1'}], [']C1006692098233759925', {'error': 'short', 'ai': '00'}], [']C0013259255554289421A1C9/9--C1\\x1d0109002354118510B1B', {'error': 'not-gs1'}], [']C121-/1-X-9B\\x1d17420369015026678280984317842704\\x1d', [['21', '-/1-X-9B'], ['17', '420369'], ['01', '50266782809843'], ['17', '842704']]]], [[']C1211\\x1d37789365790\\x1d30311652\\x1d', {'error': 'length', 'ai': '37'}], [']C1109--A9-C9CAA-X1\\x1d3103048301', [['10', '9--A9-C9CAA-X1'], ['3103', '048301']]], [']C1308705431', [['30', '8705431']]], [']C010/ACC1C1C/9\\x1d109\\x1d00997634519263772689', {'error': 'not-gs1'}], [']C03103992498', {'error': 'not-gs1'}], [']C037551517779\\x1d37107398', {'error': 'not-gs1'}], [']C037882', {'error': 'not-gs1'}], [']C11100096530067\\x1d17348048', [['11', '000965'], ['30', '067'], ['17', '348048']]]], [[']C1219A9\\x1d17625625\\x1d', [['21', '9A9'], ['17', '625625']]], [']C13103235106211A-/B1\\x1d', [['3103', '235106'], ['21', '1A-/B1']]], [']C01109918000653062932206451941', {'error': 'not-gs1'}], [']C017335622\\x1d10/A/1X9\\x1d1019911-1X/1B1/C-B\\x1d400AX/C', {'error': 'not-gs1'}], [']C121BCAB-C9CCX1/9X/CCX/1-A\\x1d3103050801250114151498', {'error': 'length', 'ai': '21'}], [']C13722241627', [['37', '22241627']]], [']d21722165221XXBCCX-C/B/C11X/AC\\x1d00214639110761933483', {'error': 'not-gs1'}], [']C10109147699409412219X9/BACAA-C1/9X19-B\\x1d21/\\x1d17759960', [['01', '09147699409412'], ['21', '9X9/BACAA-C1/9X19-B'], ['21', '/'], ['17', '759960']]]]]\nlabels = [\"regression: redundant GS skipping\", \"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-gs1-scan-parse-redundant-separator","generated_at":"2026-09-29T14:49:46.267883+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":"Skip any GS found where an AI is expected.","root_cause":"Redundant GS characters are not skipped, so the parser tries to read an AI starting with GS.","sha256":"087be6b2afcd264e0767574dc77d944922e0c25ed7e7ddfb2ae7512c7734dfb9","title":"A separator after a fixed-length field is reported as an unknown AI · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":37.871,"exit_code":1,"observations":[{"actual":{"at":14,"error":"unknown-ai"},"check":"regression: redundant GS skipping 0","expected":[["17","140648"],["30","6"],["01","41294680397442"]],"passed":false},{"actual":{"at":37,"error":"unknown-ai"},"check":"repair trap 1","expected":[["00","316281063221924868"],["10","-B-1C99//CXB"],["400","991XX/BC9-9/C/B-BA"],["10","-/-X-X1//BB/19-A-1A"]],"passed":false},{"actual":{"error":"not-gs1"},"check":"combined fault 2","expected":{"error":"not-gs1"},"passed":true},{"actual":{"error":"not-gs1"},"check":"control 3","expected":{"error":"not-gs1"},"passed":true},{"actual":{"error":"not-gs1"},"check":"control 4","expected":{"error":"not-gs1"},"passed":true},{"actual":{"error":"not-gs1"},"check":"boundary 5","expected":{"error":"not-gs1"},"passed":true},{"actual":{"error":"not-gs1"},"check":"boundary 6","expected":{"error":"not-gs1"},"passed":true},{"actual":{"at":6,"error":"unknown-ai"},"check":"control 7","expected":[["30","6"],["21","ABB1A-1/-C/91X"]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: redundant GS skipping 0\", \"actual\": {\"error\": \"unknown-ai\", \"at\": 14}, \"expected\": [[\"17\", \"140648\"], [\"30\", \"6\"], [\"01\", \"41294680397442\"]], \"passed\": false}, {\"check\": \"repair trap 1\", \"actual\": {\"error\": \"unknown-ai\", \"at\": 37}, \"expected\": [[\"00\", \"316281063221924868\"], [\"10\", \"-B-1C99//CXB\"], [\"400\", \"991XX/BC9-9/C/B-BA\"], [\"10\", \"-/-X-X1//BB/19-A-1A\"]], \"passed\": false}, {\"check\": \"combined fault 2\", \"actual\": {\"error\": \"not-gs1\"}, \"expected\": {\"error\": \"not-gs1\"}, \"passed\": true}, {\"check\": \"control 3\", \"actual\": {\"error\": \"not-gs1\"}, \"expected\": {\"error\": \"not-gs1\"}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"error\": \"not-gs1\"}, \"expected\": {\"error\": \"not-gs1\"}, \"passed\": true}, {\"check\": \"boundary 5\", \"actual\": {\"error\": \"not-gs1\"}, \"expected\": {\"error\": \"not-gs1\"}, \"passed\": true}, {\"check\": \"boundary 6\", \"actual\": {\"error\": \"not-gs1\"}, \"expected\": {\"error\": \"not-gs1\"}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": {\"error\": \"unknown-ai\", \"at\": 6}, \"expected\": [[\"30\", \"6\"], [\"21\", \"ABB1A-1/-C/91X\"]], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.186,"exit_code":1,"observations":[{"actual":{"at":14,"error":"unknown-ai"},"check":"regression: redundant GS skipping 0","expected":[["17","140648"],["30","6"],["01","41294680397442"]],"passed":false},{"actual":{"at":37,"error":"unknown-ai"},"check":"repair trap 1","expected":[["00","316281063221924868"],["10","-B-1C99//CXB"],["400","991XX/BC9-9/C/B-BA"],["10","-/-X-X1//BB/19-A-1A"]],"passed":false},{"actual":{"error":"not-gs1"},"check":"combined fault 2","expected":{"error":"not-gs1"},"passed":true},{"actual":{"error":"not-gs1"},"check":"control 3","expected":{"error":"not-gs1"},"passed":true},{"actual":{"error":"not-gs1"},"check":"control 4","expected":{"error":"not-gs1"},"passed":true},{"actual":{"error":"not-gs1"},"check":"boundary 5","expected":{"error":"not-gs1"},"passed":true},{"actual":{"error":"not-gs1"},"check":"boundary 6","expected":{"error":"not-gs1"},"passed":true},{"actual":{"at":6,"error":"unknown-ai"},"check":"control 7","expected":[["30","6"],["21","ABB1A-1/-C/91X"]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: redundant GS skipping 0\", \"actual\": {\"error\": \"unknown-ai\", \"at\": 14}, \"expected\": [[\"17\", \"140648\"], [\"30\", \"6\"], [\"01\", \"41294680397442\"]], \"passed\": false}, {\"check\": \"repair trap 1\", \"actual\": {\"error\": \"unknown-ai\", \"at\": 37}, \"expected\": [[\"00\", \"316281063221924868\"], [\"10\", \"-B-1C99//CXB\"], [\"400\", \"991XX/BC9-9/C/B-BA\"], [\"10\", \"-/-X-X1//BB/19-A-1A\"]], \"passed\": false}, {\"check\": \"combined fault 2\", \"actual\": {\"error\": \"not-gs1\"}, \"expected\": {\"error\": \"not-gs1\"}, \"passed\": true}, {\"check\": \"control 3\", \"actual\": {\"error\": \"not-gs1\"}, \"expected\": {\"error\": \"not-gs1\"}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"error\": \"not-gs1\"}, \"expected\": {\"error\": \"not-gs1\"}, \"passed\": true}, {\"check\": \"boundary 5\", \"actual\": {\"error\": \"not-gs1\"}, \"expected\": {\"error\": \"not-gs1\"}, \"passed\": true}, {\"check\": \"boundary 6\", \"actual\": {\"error\": \"not-gs1\"}, \"expected\": {\"error\": \"not-gs1\"}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": {\"error\": \"unknown-ai\", \"at\": 6}, \"expected\": [[\"30\", \"6\"], [\"21\", \"ABB1A-1/-C/91X\"]], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.581,"exit_code":0,"observations":[{"actual":[["17","140648"],["30","6"],["01","41294680397442"]],"check":"regression: redundant GS skipping 0","expected":[["17","140648"],["30","6"],["01","41294680397442"]],"passed":true},{"actual":[["00","316281063221924868"],["10","-B-1C99//CXB"],["400","991XX/BC9-9/C/B-BA"],["10","-/-X-X1//BB/19-A-1A"]],"check":"repair trap 1","expected":[["00","316281063221924868"],["10","-B-1C99//CXB"],["400","991XX/BC9-9/C/B-BA"],["10","-/-X-X1//BB/19-A-1A"]],"passed":true},{"actual":{"error":"not-gs1"},"check":"combined fault 2","expected":{"error":"not-gs1"},"passed":true},{"actual":{"error":"not-gs1"},"check":"control 3","expected":{"error":"not-gs1"},"passed":true},{"actual":{"error":"not-gs1"},"check":"control 4","expected":{"error":"not-gs1"},"passed":true},{"actual":{"error":"not-gs1"},"check":"boundary 5","expected":{"error":"not-gs1"},"passed":true},{"actual":{"error":"not-gs1"},"check":"boundary 6","expected":{"error":"not-gs1"},"passed":true},{"actual":[["30","6"],["21","ABB1A-1/-C/91X"]],"check":"control 7","expected":[["30","6"],["21","ABB1A-1/-C/91X"]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: redundant GS skipping 0\", \"actual\": [[\"17\", \"140648\"], [\"30\", \"6\"], [\"01\", \"41294680397442\"]], \"expected\": [[\"17\", \"140648\"], [\"30\", \"6\"], [\"01\", \"41294680397442\"]], \"passed\": true}, {\"check\": \"repair trap 1\", \"actual\": [[\"00\", \"316281063221924868\"], [\"10\", \"-B-1C99//CXB\"], [\"400\", \"991XX/BC9-9/C/B-BA\"], [\"10\", \"-/-X-X1//BB/19-A-1A\"]], \"expected\": [[\"00\", \"316281063221924868\"], [\"10\", \"-B-1C99//CXB\"], [\"400\", \"991XX/BC9-9/C/B-BA\"], [\"10\", \"-/-X-X1//BB/19-A-1A\"]], \"passed\": true}, {\"check\": \"combined fault 2\", \"actual\": {\"error\": \"not-gs1\"}, \"expected\": {\"error\": \"not-gs1\"}, \"passed\": true}, {\"check\": \"control 3\", \"actual\": {\"error\": \"not-gs1\"}, \"expected\": {\"error\": \"not-gs1\"}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"error\": \"not-gs1\"}, \"expected\": {\"error\": \"not-gs1\"}, \"passed\": true}, {\"check\": \"boundary 5\", \"actual\": {\"error\": \"not-gs1\"}, \"expected\": {\"error\": \"not-gs1\"}, \"passed\": true}, {\"check\": \"boundary 6\", \"actual\": {\"error\": \"not-gs1\"}, \"expected\": {\"error\": \"not-gs1\"}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": [[\"30\", \"6\"], [\"21\", \"ABB1A-1/-C/91X\"]], \"expected\": [[\"30\", \"6\"], [\"21\", \"ABB1A-1/-C/91X\"]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}