{"abstract":"Labels waste a symbol character after every GTIN and date and some parsers reject the extra separator.","category":"Barcode symbology encoding","checks":8,"contract":"Assemble GS1-128 data from [AI, value] pairs; \"#\" stands for FNC1. The string starts with FNC1. Predefined fixed-length AIs: 00 (18), 01 and 02 (14), 11/13/15/17 (6), 3103 (6); variable-length AIs with maximum length: 10 and 21 (20), 30 and 37 (8), 400 (30). Numeric AIs: 00, 01, 02, 11, 13, 15, 17, 3103, 30, 37. Values use printable ASCII 33..126 except \"#\". A variable-length field is followed by FNC1 unless it is last. Errors: unknown-ai, bad-value.","evaluation_group":"w2-barcode-symbology-encoding-gs1-128-assembly","failed_approach":"Treating date AIs as variable-length still adds needless separators.","family":"w2-barcode-symbology-encoding-gs1-128-assembly-fixed-separator","id":"FA-79576","implementations":{"attempt":{"sha256":"e3ae2e948d8486abd2392002b28e7918bed928def2a36d82b6527356857f2816","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(fields):\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    numeric = {'00', '01', '02', '11', '13', '15', '17', '3103', '30', '37'}\n    out = '#'\n    for idx, (ai, val) in enumerate(fields):\n        if ai in fixed_len:\n            if len(val) != fixed_len[ai]:\n                return {'error': 'bad-value', 'ai': ai}\n        elif ai in var_max:\n            if not 1 <= len(val) <= var_max[ai]:\n                return {'error': 'bad-value', 'ai': ai}\n        else:\n            return {'error': 'unknown-ai', 'ai': ai}\n        if ai in numeric and not all(c in '0123456789' for c in val):\n            return {'error': 'bad-value', 'ai': ai}\n        if not all(33 <= ord(c) <= 126 and c != '#' for c in val):\n            return {'error': 'bad-value', 'ai': ai}\n        out += ai + val\n        if (ai in var_max or ai in ('11', '13', '15', '17')) and idx < len(fields) - 1:\n            out += '#'\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[['17', '124248'], ['400', 'BAB1XXX/9BAB1B1XC1BCX'], ['30', '86711'], ['11', '769392']], '#17124248400BAB1XXX/9BAB1B1XC1BCX#3086711#11769392'], [[['02', '55122636826325'], ['17', '336235'], ['15', '379442']], '#02551226368263251733623515379442'], [[['00', '90045075234391735A']], {'error': 'bad-value', 'ai': '00'}], [[['30', '314304438']], {'error': 'bad-value', 'ai': '30'}], [[['30', '498926295']], {'error': 'bad-value', 'ai': '30'}], [[['37', '9681'], ['37', '30'], ['30', '601935739'], ['30', '135282']], {'error': 'bad-value', 'ai': '30'}], [[['400', 'BB9B9BCB9AC9BX1X-'], ['3103', '121391'], ['11', '565147'], ['15', '67097']], {'error': 'bad-value', 'ai': '15'}], [[['400', 'X9B1-1X9--'], ['3103', '754725'], ['30', '31441746']], '#400X9B1-1X9--#31037547253031441746']], [[[['3103', '254890'], ['10', 'XCX-91A-']], '#310325489010XCX-91A-'], [[['400', '/XA1XB9A9/B/'], ['15', '153070'], ['17', '288329'], ['01', '17366692698106']], '#400/XA1XB9A9/B/#15153070172883290117366692698106'], [[['15', '556647'], ['37', '11615664'], ['13', '817002'], ['11', '500201']], '#155566473711615664#1381700211500201'], [[['11', '827833']], '#11827833'], [[['10', '999B9'], ['02', '83916947090792'], ['02', '6235977446030']], {'error': 'bad-value', 'ai': '02'}], [[['17', '194565'], ['3103', '606142'], ['11', '39946#'], ['13', '993221']], {'error': 'bad-value', 'ai': '11'}], [[['02', '50315475817306'], ['13', '780102'], ['30', '86357A'], ['21', '-9C/C9BB-']], {'error': 'bad-value', 'ai': '30'}], [[['11', '875343'], ['17', '156844'], ['37', '4945']], '#1187534317156844374945']], [[[['30', '1351629'], ['15', '437225'], ['00', '339737021321235033']], '#301351629#1543722500339737021321235033'], [[['11', '684472'], ['30', '151'], ['30', '41437504']], '#1168447230151#3041437504'], [[['21', 'B1'], ['400', '--9CB-'], ['11', '646444'], ['02', '27996349722474']], '#21B1#400--9CB-#116464440227996349722474'], [[['400', '-']], '#400-'], [[['3103', '']], {'error': 'bad-value', 'ai': '3103'}], [[['01', '16614057569424'], ['01', '04741883691497'], ['3103', '20240101'], ['17', '174564']], {'error': 'bad-value', 'ai': '3103'}], [[['37', '08071557'], ['10', 'BB9-C'], ['3103', '566874']], '#3708071557#10BB9-C#3103566874'], [[['3103', '506096'], ['30', '1'], ['11', '465886']], '#3103506096301#11465886']], [[[['01', '09162556501441'], ['13', '875444']], '#010916255650144113875444'], [[['17', '571639'], ['10', '1/99AAX19ABBXA1-AB1X'], ['3103', '938334'], ['30', '5']], '#17571639101/99AAX19ABBXA1-AB1X#3103938334305'], [[['17', '109805'], ['3103', '602171'], ['17', '948038']], '#17109805310360217117948038'], [[['15', '29986'], ['11', '20240101']], {'error': 'bad-value', 'ai': '15'}], [[['17', ''], ['11', ''], ['13', '934852']], {'error': 'bad-value', 'ai': '17'}], [[['11', '293752']], '#11293752'], [[['30', '38239528'], ['21', '-AA-//XB/9']], '#3038239528#21-AA-//XB/9'], [[['15', '819947'], ['10', '9B-'], ['17', '065810']], '#15819947109B-#17065810']], [[[['15', '009908'], ['11', '813644']], '#1500990811813644'], [[['01', '21550398685673'], ['15', '789070'], ['13', '754989']], '#01215503986856731578907013754989'], [[['00', '444497203722145564'], ['13', '779635'], ['10', '99/AC-/91191BBA9XB/'], ['400', 'XCBC']], '#00444497203722145564137796351099/AC-/91191BBA9XB/#400XCBC'], [[['01', '3897861456853'], ['17', '642893']], {'error': 'bad-value', 'ai': '01'}], [[['17', '921066'], ['02', '71174568179311'], ['15', '310514'], ['00', '274821770369219022'], ['99', 'X']], {'error': 'unknown-ai', 'ai': '99'}], [[['21', '-9CCBBBB9AB-ABB-9/C'], ['21', 'X1AC/AA-9/9-CXA9//19']], '#21-9CCBBBB9AB-ABB-9/C#21X1AC/AA-9/9-CXA9//19'], [[['37', '60024422']], '#3760024422'], [[['15', '736088'], ['00', '231739916417638479']], '#1573608800231739916417638479']]]\nlabels = [\"regression: separator after predefined-length fields\", \"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":"e8023316eceb55c9884655b81f31fcd33d8c1885e713db2bcadd6331b08e6e7c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(fields):\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    numeric = {'00', '01', '02', '11', '13', '15', '17', '3103', '30', '37'}\n    out = '#'\n    for idx, (ai, val) in enumerate(fields):\n        if ai in fixed_len:\n            if len(val) != fixed_len[ai]:\n                return {'error': 'bad-value', 'ai': ai}\n        elif ai in var_max:\n            if not 1 <= len(val) <= var_max[ai]:\n                return {'error': 'bad-value', 'ai': ai}\n        else:\n            return {'error': 'unknown-ai', 'ai': ai}\n        if ai in numeric and not all(c in '0123456789' for c in val):\n            return {'error': 'bad-value', 'ai': ai}\n        if not all(33 <= ord(c) <= 126 and c != '#' for c in val):\n            return {'error': 'bad-value', 'ai': ai}\n        out += ai + val\n        if idx < len(fields) - 1:\n            out += '#'\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[['17', '124248'], ['400', 'BAB1XXX/9BAB1B1XC1BCX'], ['30', '86711'], ['11', '769392']], '#17124248400BAB1XXX/9BAB1B1XC1BCX#3086711#11769392'], [[['02', '55122636826325'], ['17', '336235'], ['15', '379442']], '#02551226368263251733623515379442'], [[['00', '90045075234391735A']], {'error': 'bad-value', 'ai': '00'}], [[['30', '314304438']], {'error': 'bad-value', 'ai': '30'}], [[['30', '498926295']], {'error': 'bad-value', 'ai': '30'}], [[['37', '9681'], ['37', '30'], ['30', '601935739'], ['30', '135282']], {'error': 'bad-value', 'ai': '30'}], [[['400', 'BB9B9BCB9AC9BX1X-'], ['3103', '121391'], ['11', '565147'], ['15', '67097']], {'error': 'bad-value', 'ai': '15'}], [[['400', 'X9B1-1X9--'], ['3103', '754725'], ['30', '31441746']], '#400X9B1-1X9--#31037547253031441746']], [[[['3103', '254890'], ['10', 'XCX-91A-']], '#310325489010XCX-91A-'], [[['400', '/XA1XB9A9/B/'], ['15', '153070'], ['17', '288329'], ['01', '17366692698106']], '#400/XA1XB9A9/B/#15153070172883290117366692698106'], [[['15', '556647'], ['37', '11615664'], ['13', '817002'], ['11', '500201']], '#155566473711615664#1381700211500201'], [[['11', '827833']], '#11827833'], [[['10', '999B9'], ['02', '83916947090792'], ['02', '6235977446030']], {'error': 'bad-value', 'ai': '02'}], [[['17', '194565'], ['3103', '606142'], ['11', '39946#'], ['13', '993221']], {'error': 'bad-value', 'ai': '11'}], [[['02', '50315475817306'], ['13', '780102'], ['30', '86357A'], ['21', '-9C/C9BB-']], {'error': 'bad-value', 'ai': '30'}], [[['11', '875343'], ['17', '156844'], ['37', '4945']], '#1187534317156844374945']], [[[['30', '1351629'], ['15', '437225'], ['00', '339737021321235033']], '#301351629#1543722500339737021321235033'], [[['11', '684472'], ['30', '151'], ['30', '41437504']], '#1168447230151#3041437504'], [[['21', 'B1'], ['400', '--9CB-'], ['11', '646444'], ['02', '27996349722474']], '#21B1#400--9CB-#116464440227996349722474'], [[['400', '-']], '#400-'], [[['3103', '']], {'error': 'bad-value', 'ai': '3103'}], [[['01', '16614057569424'], ['01', '04741883691497'], ['3103', '20240101'], ['17', '174564']], {'error': 'bad-value', 'ai': '3103'}], [[['37', '08071557'], ['10', 'BB9-C'], ['3103', '566874']], '#3708071557#10BB9-C#3103566874'], [[['3103', '506096'], ['30', '1'], ['11', '465886']], '#3103506096301#11465886']], [[[['01', '09162556501441'], ['13', '875444']], '#010916255650144113875444'], [[['17', '571639'], ['10', '1/99AAX19ABBXA1-AB1X'], ['3103', '938334'], ['30', '5']], '#17571639101/99AAX19ABBXA1-AB1X#3103938334305'], [[['17', '109805'], ['3103', '602171'], ['17', '948038']], '#17109805310360217117948038'], [[['15', '29986'], ['11', '20240101']], {'error': 'bad-value', 'ai': '15'}], [[['17', ''], ['11', ''], ['13', '934852']], {'error': 'bad-value', 'ai': '17'}], [[['11', '293752']], '#11293752'], [[['30', '38239528'], ['21', '-AA-//XB/9']], '#3038239528#21-AA-//XB/9'], [[['15', '819947'], ['10', '9B-'], ['17', '065810']], '#15819947109B-#17065810']], [[[['15', '009908'], ['11', '813644']], '#1500990811813644'], [[['01', '21550398685673'], ['15', '789070'], ['13', '754989']], '#01215503986856731578907013754989'], [[['00', '444497203722145564'], ['13', '779635'], ['10', '99/AC-/91191BBA9XB/'], ['400', 'XCBC']], '#00444497203722145564137796351099/AC-/91191BBA9XB/#400XCBC'], [[['01', '3897861456853'], ['17', '642893']], {'error': 'bad-value', 'ai': '01'}], [[['17', '921066'], ['02', '71174568179311'], ['15', '310514'], ['00', '274821770369219022'], ['99', 'X']], {'error': 'unknown-ai', 'ai': '99'}], [[['21', '-9CCBBBB9AB-ABB-9/C'], ['21', 'X1AC/AA-9/9-CXA9//19']], '#21-9CCBBBB9AB-ABB-9/C#21X1AC/AA-9/9-CXA9//19'], [[['37', '60024422']], '#3760024422'], [[['15', '736088'], ['00', '231739916417638479']], '#1573608800231739916417638479']]]\nlabels = [\"regression: separator after predefined-length fields\", \"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":"3e1f204c6d96402fb1263298c75501b329beed5875afd8ceb51bce9fc3e4528e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(fields):\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    numeric = {'00', '01', '02', '11', '13', '15', '17', '3103', '30', '37'}\n    out = '#'\n    for idx, (ai, val) in enumerate(fields):\n        if ai in fixed_len:\n            if len(val) != fixed_len[ai]:\n                return {'error': 'bad-value', 'ai': ai}\n        elif ai in var_max:\n            if not 1 <= len(val) <= var_max[ai]:\n                return {'error': 'bad-value', 'ai': ai}\n        else:\n            return {'error': 'unknown-ai', 'ai': ai}\n        if ai in numeric and not all(c in '0123456789' for c in val):\n            return {'error': 'bad-value', 'ai': ai}\n        if not all(33 <= ord(c) <= 126 and c != '#' for c in val):\n            return {'error': 'bad-value', 'ai': ai}\n        out += ai + val\n        if ai in var_max and idx < len(fields) - 1:\n            out += '#'\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[[['17', '124248'], ['400', 'BAB1XXX/9BAB1B1XC1BCX'], ['30', '86711'], ['11', '769392']], '#17124248400BAB1XXX/9BAB1B1XC1BCX#3086711#11769392'], [[['02', '55122636826325'], ['17', '336235'], ['15', '379442']], '#02551226368263251733623515379442'], [[['00', '90045075234391735A']], {'error': 'bad-value', 'ai': '00'}], [[['30', '314304438']], {'error': 'bad-value', 'ai': '30'}], [[['30', '498926295']], {'error': 'bad-value', 'ai': '30'}], [[['37', '9681'], ['37', '30'], ['30', '601935739'], ['30', '135282']], {'error': 'bad-value', 'ai': '30'}], [[['400', 'BB9B9BCB9AC9BX1X-'], ['3103', '121391'], ['11', '565147'], ['15', '67097']], {'error': 'bad-value', 'ai': '15'}], [[['400', 'X9B1-1X9--'], ['3103', '754725'], ['30', '31441746']], '#400X9B1-1X9--#31037547253031441746']], [[[['3103', '254890'], ['10', 'XCX-91A-']], '#310325489010XCX-91A-'], [[['400', '/XA1XB9A9/B/'], ['15', '153070'], ['17', '288329'], ['01', '17366692698106']], '#400/XA1XB9A9/B/#15153070172883290117366692698106'], [[['15', '556647'], ['37', '11615664'], ['13', '817002'], ['11', '500201']], '#155566473711615664#1381700211500201'], [[['11', '827833']], '#11827833'], [[['10', '999B9'], ['02', '83916947090792'], ['02', '6235977446030']], {'error': 'bad-value', 'ai': '02'}], [[['17', '194565'], ['3103', '606142'], ['11', '39946#'], ['13', '993221']], {'error': 'bad-value', 'ai': '11'}], [[['02', '50315475817306'], ['13', '780102'], ['30', '86357A'], ['21', '-9C/C9BB-']], {'error': 'bad-value', 'ai': '30'}], [[['11', '875343'], ['17', '156844'], ['37', '4945']], '#1187534317156844374945']], [[[['30', '1351629'], ['15', '437225'], ['00', '339737021321235033']], '#301351629#1543722500339737021321235033'], [[['11', '684472'], ['30', '151'], ['30', '41437504']], '#1168447230151#3041437504'], [[['21', 'B1'], ['400', '--9CB-'], ['11', '646444'], ['02', '27996349722474']], '#21B1#400--9CB-#116464440227996349722474'], [[['400', '-']], '#400-'], [[['3103', '']], {'error': 'bad-value', 'ai': '3103'}], [[['01', '16614057569424'], ['01', '04741883691497'], ['3103', '20240101'], ['17', '174564']], {'error': 'bad-value', 'ai': '3103'}], [[['37', '08071557'], ['10', 'BB9-C'], ['3103', '566874']], '#3708071557#10BB9-C#3103566874'], [[['3103', '506096'], ['30', '1'], ['11', '465886']], '#3103506096301#11465886']], [[[['01', '09162556501441'], ['13', '875444']], '#010916255650144113875444'], [[['17', '571639'], ['10', '1/99AAX19ABBXA1-AB1X'], ['3103', '938334'], ['30', '5']], '#17571639101/99AAX19ABBXA1-AB1X#3103938334305'], [[['17', '109805'], ['3103', '602171'], ['17', '948038']], '#17109805310360217117948038'], [[['15', '29986'], ['11', '20240101']], {'error': 'bad-value', 'ai': '15'}], [[['17', ''], ['11', ''], ['13', '934852']], {'error': 'bad-value', 'ai': '17'}], [[['11', '293752']], '#11293752'], [[['30', '38239528'], ['21', '-AA-//XB/9']], '#3038239528#21-AA-//XB/9'], [[['15', '819947'], ['10', '9B-'], ['17', '065810']], '#15819947109B-#17065810']], [[[['15', '009908'], ['11', '813644']], '#1500990811813644'], [[['01', '21550398685673'], ['15', '789070'], ['13', '754989']], '#01215503986856731578907013754989'], [[['00', '444497203722145564'], ['13', '779635'], ['10', '99/AC-/91191BBA9XB/'], ['400', 'XCBC']], '#00444497203722145564137796351099/AC-/91191BBA9XB/#400XCBC'], [[['01', '3897861456853'], ['17', '642893']], {'error': 'bad-value', 'ai': '01'}], [[['17', '921066'], ['02', '71174568179311'], ['15', '310514'], ['00', '274821770369219022'], ['99', 'X']], {'error': 'unknown-ai', 'ai': '99'}], [[['21', '-9CCBBBB9AB-ABB-9/C'], ['21', 'X1AC/AA-9/9-CXA9//19']], '#21-9CCBBBB9AB-ABB-9/C#21X1AC/AA-9/9-CXA9//19'], [[['37', '60024422']], '#3760024422'], [[['15', '736088'], ['00', '231739916417638479']], '#1573608800231739916417638479']]]\nlabels = [\"regression: separator after predefined-length fields\", \"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-128-assembly-fixed-separator","generated_at":"2026-09-29T14:49:45.749577+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":"Only variable-length fields need a following FNC1.","root_cause":"A separator is added after every field that is not last, including predefined-length AIs.","sha256":"02d909f6345f5785f8547ef917267ae1b3c2d83ddec65c31ea8283241d1f4de4","title":"GS1-128 inserts FNC1 after fixed-length fields · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.639,"exit_code":1,"observations":[{"actual":"#17124248#400BAB1XXX/9BAB1B1XC1BCX#3086711#11769392","check":"regression: separator after predefined-length fields 0","expected":"#17124248400BAB1XXX/9BAB1B1XC1BCX#3086711#11769392","passed":false},{"actual":"#025512263682632517336235#15379442","check":"repair trap 1","expected":"#02551226368263251733623515379442","passed":false},{"actual":{"ai":"00","error":"bad-value"},"check":"combined fault 2","expected":{"ai":"00","error":"bad-value"},"passed":true},{"actual":{"ai":"30","error":"bad-value"},"check":"control 3","expected":{"ai":"30","error":"bad-value"},"passed":true},{"actual":{"ai":"30","error":"bad-value"},"check":"control 4","expected":{"ai":"30","error":"bad-value"},"passed":true},{"actual":{"ai":"30","error":"bad-value"},"check":"boundary 5","expected":{"ai":"30","error":"bad-value"},"passed":true},{"actual":{"ai":"15","error":"bad-value"},"check":"boundary 6","expected":{"ai":"15","error":"bad-value"},"passed":true},{"actual":"#400X9B1-1X9--#31037547253031441746","check":"control 7","expected":"#400X9B1-1X9--#31037547253031441746","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: separator after predefined-length fields 0\", \"actual\": \"#17124248#400BAB1XXX/9BAB1B1XC1BCX#3086711#11769392\", \"expected\": \"#17124248400BAB1XXX/9BAB1B1XC1BCX#3086711#11769392\", \"passed\": false}, {\"check\": \"repair trap 1\", \"actual\": \"#025512263682632517336235#15379442\", \"expected\": \"#02551226368263251733623515379442\", \"passed\": false}, {\"check\": \"combined fault 2\", \"actual\": {\"error\": \"bad-value\", \"ai\": \"00\"}, \"expected\": {\"error\": \"bad-value\", \"ai\": \"00\"}, \"passed\": true}, {\"check\": \"control 3\", \"actual\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"expected\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"expected\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"passed\": true}, {\"check\": \"boundary 5\", \"actual\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"expected\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"passed\": true}, {\"check\": \"boundary 6\", \"actual\": {\"error\": \"bad-value\", \"ai\": \"15\"}, \"expected\": {\"error\": \"bad-value\", \"ai\": \"15\"}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": \"#400X9B1-1X9--#31037547253031441746\", \"expected\": \"#400X9B1-1X9--#31037547253031441746\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.037,"exit_code":1,"observations":[{"actual":"#17124248#400BAB1XXX/9BAB1B1XC1BCX#3086711#11769392","check":"regression: separator after predefined-length fields 0","expected":"#17124248400BAB1XXX/9BAB1B1XC1BCX#3086711#11769392","passed":false},{"actual":"#0255122636826325#17336235#15379442","check":"repair trap 1","expected":"#02551226368263251733623515379442","passed":false},{"actual":{"ai":"00","error":"bad-value"},"check":"combined fault 2","expected":{"ai":"00","error":"bad-value"},"passed":true},{"actual":{"ai":"30","error":"bad-value"},"check":"control 3","expected":{"ai":"30","error":"bad-value"},"passed":true},{"actual":{"ai":"30","error":"bad-value"},"check":"control 4","expected":{"ai":"30","error":"bad-value"},"passed":true},{"actual":{"ai":"30","error":"bad-value"},"check":"boundary 5","expected":{"ai":"30","error":"bad-value"},"passed":true},{"actual":{"ai":"15","error":"bad-value"},"check":"boundary 6","expected":{"ai":"15","error":"bad-value"},"passed":true},{"actual":"#400X9B1-1X9--#3103754725#3031441746","check":"control 7","expected":"#400X9B1-1X9--#31037547253031441746","passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: separator after predefined-length fields 0\", \"actual\": \"#17124248#400BAB1XXX/9BAB1B1XC1BCX#3086711#11769392\", \"expected\": \"#17124248400BAB1XXX/9BAB1B1XC1BCX#3086711#11769392\", \"passed\": false}, {\"check\": \"repair trap 1\", \"actual\": \"#0255122636826325#17336235#15379442\", \"expected\": \"#02551226368263251733623515379442\", \"passed\": false}, {\"check\": \"combined fault 2\", \"actual\": {\"error\": \"bad-value\", \"ai\": \"00\"}, \"expected\": {\"error\": \"bad-value\", \"ai\": \"00\"}, \"passed\": true}, {\"check\": \"control 3\", \"actual\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"expected\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"expected\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"passed\": true}, {\"check\": \"boundary 5\", \"actual\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"expected\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"passed\": true}, {\"check\": \"boundary 6\", \"actual\": {\"error\": \"bad-value\", \"ai\": \"15\"}, \"expected\": {\"error\": \"bad-value\", \"ai\": \"15\"}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": \"#400X9B1-1X9--#3103754725#3031441746\", \"expected\": \"#400X9B1-1X9--#31037547253031441746\", \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.279,"exit_code":0,"observations":[{"actual":"#17124248400BAB1XXX/9BAB1B1XC1BCX#3086711#11769392","check":"regression: separator after predefined-length fields 0","expected":"#17124248400BAB1XXX/9BAB1B1XC1BCX#3086711#11769392","passed":true},{"actual":"#02551226368263251733623515379442","check":"repair trap 1","expected":"#02551226368263251733623515379442","passed":true},{"actual":{"ai":"00","error":"bad-value"},"check":"combined fault 2","expected":{"ai":"00","error":"bad-value"},"passed":true},{"actual":{"ai":"30","error":"bad-value"},"check":"control 3","expected":{"ai":"30","error":"bad-value"},"passed":true},{"actual":{"ai":"30","error":"bad-value"},"check":"control 4","expected":{"ai":"30","error":"bad-value"},"passed":true},{"actual":{"ai":"30","error":"bad-value"},"check":"boundary 5","expected":{"ai":"30","error":"bad-value"},"passed":true},{"actual":{"ai":"15","error":"bad-value"},"check":"boundary 6","expected":{"ai":"15","error":"bad-value"},"passed":true},{"actual":"#400X9B1-1X9--#31037547253031441746","check":"control 7","expected":"#400X9B1-1X9--#31037547253031441746","passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: separator after predefined-length fields 0\", \"actual\": \"#17124248400BAB1XXX/9BAB1B1XC1BCX#3086711#11769392\", \"expected\": \"#17124248400BAB1XXX/9BAB1B1XC1BCX#3086711#11769392\", \"passed\": true}, {\"check\": \"repair trap 1\", \"actual\": \"#02551226368263251733623515379442\", \"expected\": \"#02551226368263251733623515379442\", \"passed\": true}, {\"check\": \"combined fault 2\", \"actual\": {\"error\": \"bad-value\", \"ai\": \"00\"}, \"expected\": {\"error\": \"bad-value\", \"ai\": \"00\"}, \"passed\": true}, {\"check\": \"control 3\", \"actual\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"expected\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"expected\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"passed\": true}, {\"check\": \"boundary 5\", \"actual\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"expected\": {\"error\": \"bad-value\", \"ai\": \"30\"}, \"passed\": true}, {\"check\": \"boundary 6\", \"actual\": {\"error\": \"bad-value\", \"ai\": \"15\"}, \"expected\": {\"error\": \"bad-value\", \"ai\": \"15\"}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": \"#400X9B1-1X9--#31037547253031441746\", \"expected\": \"#400X9B1-1X9--#31037547253031441746\", \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}