{"abstract":"Horizontally mirrored scans come out vertically flipped.","category":"Image orientation metadata","checks":8,"contract":"Bake an EXIF-style orientation tag (1..8) into a row-major pixel grid so the result displays upright. Tags 2/4 mirror horizontally/vertically, 3 rotates 180, 6 rotates 90 clockwise, 8 rotates 90 counter-clockwise, 5 transposes and 7 transverses; tags outside 1..8 are treated as 1. Tags 5..8 swap the output width and height.","evaluation_group":"w2-image-orientation-metadata-pixel-bake","failed_approach":"Negative indexing with -c leaves column 0 in place and shifts the rest by one.","family":"w2-image-orientation-metadata-pixel-bake-mirror-axis","id":"FA-78861","implementations":{"attempt":{"sha256":"e9ca208d7bf241d14280e3cfa8fdca2389b0c1ec9584233032a691f13a2c143d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(grid, tag):\n    h = len(grid)\n    w = len(grid[0]) if h else 0\n    if tag not in range(1, 9):\n        tag = 1\n    if tag in (5, 6, 7, 8):\n        out_h, out_w = w, h\n    else:\n        out_h, out_w = h, w\n    out = []\n    for r in range(out_h):\n        row = []\n        for c in range(out_w):\n            if tag == 1:\n                v = grid[r][c]\n            elif tag == 2:\n                v = grid[r][-c]\n            elif tag == 3:\n                v = grid[h - 1 - r][w - 1 - c]\n            elif tag == 4:\n                v = grid[h - 1 - r][c]\n            elif tag == 5:\n                v = grid[c][r]\n            elif tag == 6:\n                v = grid[h - 1 - c][r]\n            elif tag == 7:\n                v = grid[h - 1 - c][w - 1 - r]\n            else:\n                v = grid[c][w - 1 - r]\n            row.append(v)\n        out.append(row)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[([[1, 2, 3, 4]], 2), [[4, 3, 2, 1]]], [([[1, 2, 3, 4], [11, 12, 13, 14]], 2), [[4, 3, 2, 1], [14, 13, 12, 11]]], [([[1, 2, 3, 4], [11, 12, 13, 14], [21, 22, 23, 24], [31, 32, 33, 34]], 6), [[31, 21, 11, 1], [32, 22, 12, 2], [33, 23, 13, 3], [34, 24, 14, 4]]], [([[1], [11], [21], [31]], 8), [[1, 11, 21, 31]]], [([[1, 2, 3], [11, 12, 13], [21, 22, 23]], 6), [[21, 11, 1], [22, 12, 2], [23, 13, 3]]], [([[1, 2, 3, 4]], 5), [[1], [2], [3], [4]]], [([[1, 2, 3]], 4), [[1, 2, 3]]], [([[1, 2], [11, 12], [21, 22], [31, 32]], 2), [[2, 1], [12, 11], [22, 21], [32, 31]]]], [[([[2, 3, 4, 5], [12, 13, 14, 15], [22, 23, 24, 25]], 2), [[5, 4, 3, 2], [15, 14, 13, 12], [25, 24, 23, 22]]], [([[2, 3], [12, 13], [22, 23], [32, 33]], 2), [[3, 2], [13, 12], [23, 22], [33, 32]]], [([[2, 3, 4, 5], [12, 13, 14, 15]], 9), [[2, 3, 4, 5], [12, 13, 14, 15]]], [([[2, 3, 4], [12, 13, 14], [22, 23, 24]], 0), [[2, 3, 4], [12, 13, 14], [22, 23, 24]]], [([[2, 3, 4], [12, 13, 14], [22, 23, 24], [32, 33, 34]], 6), [[32, 22, 12, 2], [33, 23, 13, 3], [34, 24, 14, 4]]], [([[2]], 1), [[2]]], [([[2, 3, 4, 5], [12, 13, 14, 15]], 6), [[12, 2], [13, 3], [14, 4], [15, 5]]], [([[2, 3, 4, 5]], 2), [[5, 4, 3, 2]]]], [[([[3, 4, 5], [13, 14, 15]], 2), [[5, 4, 3], [15, 14, 13]]], [([[3, 4, 5, 6]], 2), [[6, 5, 4, 3]]], [([[3, 4, 5, 6]], 8), [[6], [5], [4], [3]]], [([[3, 4], [13, 14], [23, 24], [33, 34]], 8), [[4, 14, 24, 34], [3, 13, 23, 33]]], [([[3]], 8), [[3]]], [([[3, 4], [13, 14], [23, 24]], 6), [[23, 13, 3], [24, 14, 4]]], [([[3, 4, 5, 6], [13, 14, 15, 16], [23, 24, 25, 26]], 8), [[6, 16, 26], [5, 15, 25], [4, 14, 24], [3, 13, 23]]], [([[3, 4], [13, 14]], 2), [[4, 3], [14, 13]]]], [[([[4, 5, 6, 7], [14, 15, 16, 17], [24, 25, 26, 27], [34, 35, 36, 37]], 2), [[7, 6, 5, 4], [17, 16, 15, 14], [27, 26, 25, 24], [37, 36, 35, 34]]], [([[4, 5, 6], [14, 15, 16]], 2), [[6, 5, 4], [16, 15, 14]]], [([[4, 5], [14, 15]], 2), [[5, 4], [15, 14]]], [([[4, 5, 6, 7], [14, 15, 16, 17], [24, 25, 26, 27]], 9), [[4, 5, 6, 7], [14, 15, 16, 17], [24, 25, 26, 27]]], [([[4, 5, 6], [14, 15, 16]], 3), [[16, 15, 14], [6, 5, 4]]], [([[4, 5], [14, 15]], 5), [[4, 14], [5, 15]]], [([[4, 5, 6, 7], [14, 15, 16, 17], [24, 25, 26, 27], [34, 35, 36, 37]], 9), [[4, 5, 6, 7], [14, 15, 16, 17], [24, 25, 26, 27], [34, 35, 36, 37]]], [([[4, 5, 6]], 2), [[6, 5, 4]]]], [[([[5], [15]], 2), [[5], [15]]], [([[5, 6, 7], [15, 16, 17], [25, 26, 27]], 2), [[7, 6, 5], [17, 16, 15], [27, 26, 25]]], [([[5, 6, 7]], 2), [[7, 6, 5]]], [([[5], [15]], 4), [[15], [5]]], [([[5, 6]], 9), [[5, 6]]], [([[5]], 6), [[5]]], [([[5, 6, 7, 8], [15, 16, 17, 18], [25, 26, 27, 28]], 3), [[28, 27, 26, 25], [18, 17, 16, 15], [8, 7, 6, 5]]], [([[5], [15], [25], [35]], 2), [[5], [15], [25], [35]]]]]\nlabels = [\"regression: tag 2 mirror axis\", \"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":"99cd169eab676b905360013b7779851ba7bc5b49b185938f0c8c2d07505dc564","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(grid, tag):\n    h = len(grid)\n    w = len(grid[0]) if h else 0\n    if tag not in range(1, 9):\n        tag = 1\n    if tag in (5, 6, 7, 8):\n        out_h, out_w = w, h\n    else:\n        out_h, out_w = h, w\n    out = []\n    for r in range(out_h):\n        row = []\n        for c in range(out_w):\n            if tag == 1:\n                v = grid[r][c]\n            elif tag == 2:\n                v = grid[h - 1 - r][c]\n            elif tag == 3:\n                v = grid[h - 1 - r][w - 1 - c]\n            elif tag == 4:\n                v = grid[h - 1 - r][c]\n            elif tag == 5:\n                v = grid[c][r]\n            elif tag == 6:\n                v = grid[h - 1 - c][r]\n            elif tag == 7:\n                v = grid[h - 1 - c][w - 1 - r]\n            else:\n                v = grid[c][w - 1 - r]\n            row.append(v)\n        out.append(row)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[([[1, 2, 3, 4]], 2), [[4, 3, 2, 1]]], [([[1, 2, 3, 4], [11, 12, 13, 14]], 2), [[4, 3, 2, 1], [14, 13, 12, 11]]], [([[1, 2, 3, 4], [11, 12, 13, 14], [21, 22, 23, 24], [31, 32, 33, 34]], 6), [[31, 21, 11, 1], [32, 22, 12, 2], [33, 23, 13, 3], [34, 24, 14, 4]]], [([[1], [11], [21], [31]], 8), [[1, 11, 21, 31]]], [([[1, 2, 3], [11, 12, 13], [21, 22, 23]], 6), [[21, 11, 1], [22, 12, 2], [23, 13, 3]]], [([[1, 2, 3, 4]], 5), [[1], [2], [3], [4]]], [([[1, 2, 3]], 4), [[1, 2, 3]]], [([[1, 2], [11, 12], [21, 22], [31, 32]], 2), [[2, 1], [12, 11], [22, 21], [32, 31]]]], [[([[2, 3, 4, 5], [12, 13, 14, 15], [22, 23, 24, 25]], 2), [[5, 4, 3, 2], [15, 14, 13, 12], [25, 24, 23, 22]]], [([[2, 3], [12, 13], [22, 23], [32, 33]], 2), [[3, 2], [13, 12], [23, 22], [33, 32]]], [([[2, 3, 4, 5], [12, 13, 14, 15]], 9), [[2, 3, 4, 5], [12, 13, 14, 15]]], [([[2, 3, 4], [12, 13, 14], [22, 23, 24]], 0), [[2, 3, 4], [12, 13, 14], [22, 23, 24]]], [([[2, 3, 4], [12, 13, 14], [22, 23, 24], [32, 33, 34]], 6), [[32, 22, 12, 2], [33, 23, 13, 3], [34, 24, 14, 4]]], [([[2]], 1), [[2]]], [([[2, 3, 4, 5], [12, 13, 14, 15]], 6), [[12, 2], [13, 3], [14, 4], [15, 5]]], [([[2, 3, 4, 5]], 2), [[5, 4, 3, 2]]]], [[([[3, 4, 5], [13, 14, 15]], 2), [[5, 4, 3], [15, 14, 13]]], [([[3, 4, 5, 6]], 2), [[6, 5, 4, 3]]], [([[3, 4, 5, 6]], 8), [[6], [5], [4], [3]]], [([[3, 4], [13, 14], [23, 24], [33, 34]], 8), [[4, 14, 24, 34], [3, 13, 23, 33]]], [([[3]], 8), [[3]]], [([[3, 4], [13, 14], [23, 24]], 6), [[23, 13, 3], [24, 14, 4]]], [([[3, 4, 5, 6], [13, 14, 15, 16], [23, 24, 25, 26]], 8), [[6, 16, 26], [5, 15, 25], [4, 14, 24], [3, 13, 23]]], [([[3, 4], [13, 14]], 2), [[4, 3], [14, 13]]]], [[([[4, 5, 6, 7], [14, 15, 16, 17], [24, 25, 26, 27], [34, 35, 36, 37]], 2), [[7, 6, 5, 4], [17, 16, 15, 14], [27, 26, 25, 24], [37, 36, 35, 34]]], [([[4, 5, 6], [14, 15, 16]], 2), [[6, 5, 4], [16, 15, 14]]], [([[4, 5], [14, 15]], 2), [[5, 4], [15, 14]]], [([[4, 5, 6, 7], [14, 15, 16, 17], [24, 25, 26, 27]], 9), [[4, 5, 6, 7], [14, 15, 16, 17], [24, 25, 26, 27]]], [([[4, 5, 6], [14, 15, 16]], 3), [[16, 15, 14], [6, 5, 4]]], [([[4, 5], [14, 15]], 5), [[4, 14], [5, 15]]], [([[4, 5, 6, 7], [14, 15, 16, 17], [24, 25, 26, 27], [34, 35, 36, 37]], 9), [[4, 5, 6, 7], [14, 15, 16, 17], [24, 25, 26, 27], [34, 35, 36, 37]]], [([[4, 5, 6]], 2), [[6, 5, 4]]]], [[([[5], [15]], 2), [[5], [15]]], [([[5, 6, 7], [15, 16, 17], [25, 26, 27]], 2), [[7, 6, 5], [17, 16, 15], [27, 26, 25]]], [([[5, 6, 7]], 2), [[7, 6, 5]]], [([[5], [15]], 4), [[15], [5]]], [([[5, 6]], 9), [[5, 6]]], [([[5]], 6), [[5]]], [([[5, 6, 7, 8], [15, 16, 17, 18], [25, 26, 27, 28]], 3), [[28, 27, 26, 25], [18, 17, 16, 15], [8, 7, 6, 5]]], [([[5], [15], [25], [35]], 2), [[5], [15], [25], [35]]]]]\nlabels = [\"regression: tag 2 mirror axis\", \"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":"807683b7dbf27fa954b753ecbcf853ddf81fae6c5bb21ee363596a7a746e30f1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(grid, tag):\n    h = len(grid)\n    w = len(grid[0]) if h else 0\n    if tag not in range(1, 9):\n        tag = 1\n    if tag in (5, 6, 7, 8):\n        out_h, out_w = w, h\n    else:\n        out_h, out_w = h, w\n    out = []\n    for r in range(out_h):\n        row = []\n        for c in range(out_w):\n            if tag == 1:\n                v = grid[r][c]\n            elif tag == 2:\n                v = grid[r][w - 1 - c]\n            elif tag == 3:\n                v = grid[h - 1 - r][w - 1 - c]\n            elif tag == 4:\n                v = grid[h - 1 - r][c]\n            elif tag == 5:\n                v = grid[c][r]\n            elif tag == 6:\n                v = grid[h - 1 - c][r]\n            elif tag == 7:\n                v = grid[h - 1 - c][w - 1 - r]\n            else:\n                v = grid[c][w - 1 - r]\n            row.append(v)\n        out.append(row)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[[([[1, 2, 3, 4]], 2), [[4, 3, 2, 1]]], [([[1, 2, 3, 4], [11, 12, 13, 14]], 2), [[4, 3, 2, 1], [14, 13, 12, 11]]], [([[1, 2, 3, 4], [11, 12, 13, 14], [21, 22, 23, 24], [31, 32, 33, 34]], 6), [[31, 21, 11, 1], [32, 22, 12, 2], [33, 23, 13, 3], [34, 24, 14, 4]]], [([[1], [11], [21], [31]], 8), [[1, 11, 21, 31]]], [([[1, 2, 3], [11, 12, 13], [21, 22, 23]], 6), [[21, 11, 1], [22, 12, 2], [23, 13, 3]]], [([[1, 2, 3, 4]], 5), [[1], [2], [3], [4]]], [([[1, 2, 3]], 4), [[1, 2, 3]]], [([[1, 2], [11, 12], [21, 22], [31, 32]], 2), [[2, 1], [12, 11], [22, 21], [32, 31]]]], [[([[2, 3, 4, 5], [12, 13, 14, 15], [22, 23, 24, 25]], 2), [[5, 4, 3, 2], [15, 14, 13, 12], [25, 24, 23, 22]]], [([[2, 3], [12, 13], [22, 23], [32, 33]], 2), [[3, 2], [13, 12], [23, 22], [33, 32]]], [([[2, 3, 4, 5], [12, 13, 14, 15]], 9), [[2, 3, 4, 5], [12, 13, 14, 15]]], [([[2, 3, 4], [12, 13, 14], [22, 23, 24]], 0), [[2, 3, 4], [12, 13, 14], [22, 23, 24]]], [([[2, 3, 4], [12, 13, 14], [22, 23, 24], [32, 33, 34]], 6), [[32, 22, 12, 2], [33, 23, 13, 3], [34, 24, 14, 4]]], [([[2]], 1), [[2]]], [([[2, 3, 4, 5], [12, 13, 14, 15]], 6), [[12, 2], [13, 3], [14, 4], [15, 5]]], [([[2, 3, 4, 5]], 2), [[5, 4, 3, 2]]]], [[([[3, 4, 5], [13, 14, 15]], 2), [[5, 4, 3], [15, 14, 13]]], [([[3, 4, 5, 6]], 2), [[6, 5, 4, 3]]], [([[3, 4, 5, 6]], 8), [[6], [5], [4], [3]]], [([[3, 4], [13, 14], [23, 24], [33, 34]], 8), [[4, 14, 24, 34], [3, 13, 23, 33]]], [([[3]], 8), [[3]]], [([[3, 4], [13, 14], [23, 24]], 6), [[23, 13, 3], [24, 14, 4]]], [([[3, 4, 5, 6], [13, 14, 15, 16], [23, 24, 25, 26]], 8), [[6, 16, 26], [5, 15, 25], [4, 14, 24], [3, 13, 23]]], [([[3, 4], [13, 14]], 2), [[4, 3], [14, 13]]]], [[([[4, 5, 6, 7], [14, 15, 16, 17], [24, 25, 26, 27], [34, 35, 36, 37]], 2), [[7, 6, 5, 4], [17, 16, 15, 14], [27, 26, 25, 24], [37, 36, 35, 34]]], [([[4, 5, 6], [14, 15, 16]], 2), [[6, 5, 4], [16, 15, 14]]], [([[4, 5], [14, 15]], 2), [[5, 4], [15, 14]]], [([[4, 5, 6, 7], [14, 15, 16, 17], [24, 25, 26, 27]], 9), [[4, 5, 6, 7], [14, 15, 16, 17], [24, 25, 26, 27]]], [([[4, 5, 6], [14, 15, 16]], 3), [[16, 15, 14], [6, 5, 4]]], [([[4, 5], [14, 15]], 5), [[4, 14], [5, 15]]], [([[4, 5, 6, 7], [14, 15, 16, 17], [24, 25, 26, 27], [34, 35, 36, 37]], 9), [[4, 5, 6, 7], [14, 15, 16, 17], [24, 25, 26, 27], [34, 35, 36, 37]]], [([[4, 5, 6]], 2), [[6, 5, 4]]]], [[([[5], [15]], 2), [[5], [15]]], [([[5, 6, 7], [15, 16, 17], [25, 26, 27]], 2), [[7, 6, 5], [17, 16, 15], [27, 26, 25]]], [([[5, 6, 7]], 2), [[7, 6, 5]]], [([[5], [15]], 4), [[15], [5]]], [([[5, 6]], 9), [[5, 6]]], [([[5]], 6), [[5]]], [([[5, 6, 7, 8], [15, 16, 17, 18], [25, 26, 27, 28]], 3), [[28, 27, 26, 25], [18, 17, 16, 15], [8, 7, 6, 5]]], [([[5], [15], [25], [35]], 2), [[5], [15], [25], [35]]]]]\nlabels = [\"regression: tag 2 mirror axis\", \"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-image-orientation-metadata-pixel-bake-mirror-axis","generated_at":"2026-09-29T14:49:39.243936+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Camera, phone and scanner images carry an orientation hint separately from the stored pixels; galleries, thumbnailers, editors and upload pipelines must interpret it consistently or photos appear sideways, mirrored or doubly rotated.","repair":"Reverse the column index: grid[r][w-1-c].","root_cause":"The tag-2 branch reverses rows (vertical flip) rather than columns.","sha256":"b66edbec2304bfe0f96959fbc2a07a38494567a20ede23171a4fc39536e283c6","title":"Pixel bake mirrors tag 2 across the wrong axis · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.146,"exit_code":1,"observations":[{"actual":[[1,4,3,2]],"check":"regression: tag 2 mirror axis 0","expected":[[4,3,2,1]],"passed":false},{"actual":[[1,4,3,2],[11,14,13,12]],"check":"repair trap 1","expected":[[4,3,2,1],[14,13,12,11]],"passed":false},{"actual":[[31,21,11,1],[32,22,12,2],[33,23,13,3],[34,24,14,4]],"check":"combined fault 2","expected":[[31,21,11,1],[32,22,12,2],[33,23,13,3],[34,24,14,4]],"passed":true},{"actual":[[1,11,21,31]],"check":"control 3","expected":[[1,11,21,31]],"passed":true},{"actual":[[21,11,1],[22,12,2],[23,13,3]],"check":"control 4","expected":[[21,11,1],[22,12,2],[23,13,3]],"passed":true},{"actual":[[1],[2],[3],[4]],"check":"boundary 5","expected":[[1],[2],[3],[4]],"passed":true},{"actual":[[1,2,3]],"check":"boundary 6","expected":[[1,2,3]],"passed":true},{"actual":[[1,2],[11,12],[21,22],[31,32]],"check":"control 7","expected":[[2,1],[12,11],[22,21],[32,31]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: tag 2 mirror axis 0\", \"actual\": [[1, 4, 3, 2]], \"expected\": [[4, 3, 2, 1]], \"passed\": false}, {\"check\": \"repair trap 1\", \"actual\": [[1, 4, 3, 2], [11, 14, 13, 12]], \"expected\": [[4, 3, 2, 1], [14, 13, 12, 11]], \"passed\": false}, {\"check\": \"combined fault 2\", \"actual\": [[31, 21, 11, 1], [32, 22, 12, 2], [33, 23, 13, 3], [34, 24, 14, 4]], \"expected\": [[31, 21, 11, 1], [32, 22, 12, 2], [33, 23, 13, 3], [34, 24, 14, 4]], \"passed\": true}, {\"check\": \"control 3\", \"actual\": [[1, 11, 21, 31]], \"expected\": [[1, 11, 21, 31]], \"passed\": true}, {\"check\": \"control 4\", \"actual\": [[21, 11, 1], [22, 12, 2], [23, 13, 3]], \"expected\": [[21, 11, 1], [22, 12, 2], [23, 13, 3]], \"passed\": true}, {\"check\": \"boundary 5\", \"actual\": [[1], [2], [3], [4]], \"expected\": [[1], [2], [3], [4]], \"passed\": true}, {\"check\": \"boundary 6\", \"actual\": [[1, 2, 3]], \"expected\": [[1, 2, 3]], \"passed\": true}, {\"check\": \"control 7\", \"actual\": [[1, 2], [11, 12], [21, 22], [31, 32]], \"expected\": [[2, 1], [12, 11], [22, 21], [32, 31]], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.343,"exit_code":1,"observations":[{"actual":[[1,2,3,4]],"check":"regression: tag 2 mirror axis 0","expected":[[4,3,2,1]],"passed":false},{"actual":[[11,12,13,14],[1,2,3,4]],"check":"repair trap 1","expected":[[4,3,2,1],[14,13,12,11]],"passed":false},{"actual":[[31,21,11,1],[32,22,12,2],[33,23,13,3],[34,24,14,4]],"check":"combined fault 2","expected":[[31,21,11,1],[32,22,12,2],[33,23,13,3],[34,24,14,4]],"passed":true},{"actual":[[1,11,21,31]],"check":"control 3","expected":[[1,11,21,31]],"passed":true},{"actual":[[21,11,1],[22,12,2],[23,13,3]],"check":"control 4","expected":[[21,11,1],[22,12,2],[23,13,3]],"passed":true},{"actual":[[1],[2],[3],[4]],"check":"boundary 5","expected":[[1],[2],[3],[4]],"passed":true},{"actual":[[1,2,3]],"check":"boundary 6","expected":[[1,2,3]],"passed":true},{"actual":[[31,32],[21,22],[11,12],[1,2]],"check":"control 7","expected":[[2,1],[12,11],[22,21],[32,31]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: tag 2 mirror axis 0\", \"actual\": [[1, 2, 3, 4]], \"expected\": [[4, 3, 2, 1]], \"passed\": false}, {\"check\": \"repair trap 1\", \"actual\": [[11, 12, 13, 14], [1, 2, 3, 4]], \"expected\": [[4, 3, 2, 1], [14, 13, 12, 11]], \"passed\": false}, {\"check\": \"combined fault 2\", \"actual\": [[31, 21, 11, 1], [32, 22, 12, 2], [33, 23, 13, 3], [34, 24, 14, 4]], \"expected\": [[31, 21, 11, 1], [32, 22, 12, 2], [33, 23, 13, 3], [34, 24, 14, 4]], \"passed\": true}, {\"check\": \"control 3\", \"actual\": [[1, 11, 21, 31]], \"expected\": [[1, 11, 21, 31]], \"passed\": true}, {\"check\": \"control 4\", \"actual\": [[21, 11, 1], [22, 12, 2], [23, 13, 3]], \"expected\": [[21, 11, 1], [22, 12, 2], [23, 13, 3]], \"passed\": true}, {\"check\": \"boundary 5\", \"actual\": [[1], [2], [3], [4]], \"expected\": [[1], [2], [3], [4]], \"passed\": true}, {\"check\": \"boundary 6\", \"actual\": [[1, 2, 3]], \"expected\": [[1, 2, 3]], \"passed\": true}, {\"check\": \"control 7\", \"actual\": [[31, 32], [21, 22], [11, 12], [1, 2]], \"expected\": [[2, 1], [12, 11], [22, 21], [32, 31]], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.556,"exit_code":0,"observations":[{"actual":[[4,3,2,1]],"check":"regression: tag 2 mirror axis 0","expected":[[4,3,2,1]],"passed":true},{"actual":[[4,3,2,1],[14,13,12,11]],"check":"repair trap 1","expected":[[4,3,2,1],[14,13,12,11]],"passed":true},{"actual":[[31,21,11,1],[32,22,12,2],[33,23,13,3],[34,24,14,4]],"check":"combined fault 2","expected":[[31,21,11,1],[32,22,12,2],[33,23,13,3],[34,24,14,4]],"passed":true},{"actual":[[1,11,21,31]],"check":"control 3","expected":[[1,11,21,31]],"passed":true},{"actual":[[21,11,1],[22,12,2],[23,13,3]],"check":"control 4","expected":[[21,11,1],[22,12,2],[23,13,3]],"passed":true},{"actual":[[1],[2],[3],[4]],"check":"boundary 5","expected":[[1],[2],[3],[4]],"passed":true},{"actual":[[1,2,3]],"check":"boundary 6","expected":[[1,2,3]],"passed":true},{"actual":[[2,1],[12,11],[22,21],[32,31]],"check":"control 7","expected":[[2,1],[12,11],[22,21],[32,31]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: tag 2 mirror axis 0\", \"actual\": [[4, 3, 2, 1]], \"expected\": [[4, 3, 2, 1]], \"passed\": true}, {\"check\": \"repair trap 1\", \"actual\": [[4, 3, 2, 1], [14, 13, 12, 11]], \"expected\": [[4, 3, 2, 1], [14, 13, 12, 11]], \"passed\": true}, {\"check\": \"combined fault 2\", \"actual\": [[31, 21, 11, 1], [32, 22, 12, 2], [33, 23, 13, 3], [34, 24, 14, 4]], \"expected\": [[31, 21, 11, 1], [32, 22, 12, 2], [33, 23, 13, 3], [34, 24, 14, 4]], \"passed\": true}, {\"check\": \"control 3\", \"actual\": [[1, 11, 21, 31]], \"expected\": [[1, 11, 21, 31]], \"passed\": true}, {\"check\": \"control 4\", \"actual\": [[21, 11, 1], [22, 12, 2], [23, 13, 3]], \"expected\": [[21, 11, 1], [22, 12, 2], [23, 13, 3]], \"passed\": true}, {\"check\": \"boundary 5\", \"actual\": [[1], [2], [3], [4]], \"expected\": [[1], [2], [3], [4]], \"passed\": true}, {\"check\": \"boundary 6\", \"actual\": [[1, 2, 3]], \"expected\": [[1, 2, 3]], \"passed\": true}, {\"check\": \"control 7\", \"actual\": [[2, 1], [12, 11], [22, 21], [32, 31]], \"expected\": [[2, 1], [12, 11], [22, 21], [32, 31]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}