{"abstract":"The returned physical layout descriptor disagrees with the declared buffer mapping at allocation_end.","category":"Raster memory layout","checks":6,"contract":"An indexed image has a palette of three-byte entries, a two-byte palette-count field, and high-nibble-first pixels. Each scanline starts with a one-byte checksum. Odd final low nibbles are padding. Return the named intermediate layout descriptor and final address fields; all quantities are integer byte offsets unless explicitly stated.","evaluation_group":"s3-raster-memory-layout-indexed-nibble-records","failed_approach":"The attempted repair uses image_origin+(p[\"h\"]+1)*row_pitch and still violates the layout contract.","family":"s3-raster-memory-layout-indexed-nibble-records-allocation-end","id":"FA-52436","implementations":{"attempt":{"sha256":"0858184572433ef1d6538a8942824f613fef484a598408c1d9aed0d12b40855a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(p):\n    p = dict(p)\n    palette_bytes = 2+p[\"colors\"]*3\n    packed_bytes = (p[\"w\"]+1)//2\n    row_pitch = packed_bytes+1\n    image_origin = p[\"base\"]+palette_bytes\n    byte_address = image_origin+p[\"y\"]*row_pitch+1+p[\"x\"]//2\n    shift = 4 if p[\"x\"]%2==0 else 0\n    keep_mask = 255 ^ (15<<shift)\n    written_byte = (p[\"old\"]&keep_mask)|((p[\"value\"]&15)<<shift)\n    tail_mask = 240 if p[\"w\"]%2 else 255\n    allocation_end = image_origin+(p[\"h\"]+1)*row_pitch\n    return {'palette_bytes': palette_bytes, 'packed_bytes': packed_bytes, 'row_pitch': row_pitch, 'image_origin': image_origin, 'byte_address': byte_address, 'shift': shift, 'keep_mask': keep_mask, 'written_byte': written_byte, 'tail_mask': tail_mask, 'allocation_end': allocation_end}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [({'w': 4, 'h': 2, 'x': 0, 'y': 0, 'colors': 5, 'base': 17, 'value': 1, 'old': 35}, {'palette_bytes': 17, 'packed_bytes': 2, 'row_pitch': 3, 'image_origin': 34, 'byte_address': 35, 'shift': 4, 'keep_mask': 15, 'written_byte': 19, 'tail_mask': 255, 'allocation_end': 40}), ({'w': 5, 'h': 3, 'x': 1, 'y': 1, 'colors': 5, 'base': 17, 'value': 2, 'old': 36}, {'palette_bytes': 17, 'packed_bytes': 3, 'row_pitch': 4, 'image_origin': 34, 'byte_address': 39, 'shift': 0, 'keep_mask': 240, 'written_byte': 34, 'tail_mask': 240, 'allocation_end': 46}), ({'w': 6, 'h': 4, 'x': 2, 'y': 2, 'colors': 5, 'base': 17, 'value': 3, 'old': 37}, {'palette_bytes': 17, 'packed_bytes': 3, 'row_pitch': 4, 'image_origin': 34, 'byte_address': 44, 'shift': 4, 'keep_mask': 15, 'written_byte': 53, 'tail_mask': 255, 'allocation_end': 50}), ({'w': 7, 'h': 5, 'x': 3, 'y': 3, 'colors': 5, 'base': 17, 'value': 4, 'old': 38}, {'palette_bytes': 17, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 34, 'byte_address': 51, 'shift': 0, 'keep_mask': 240, 'written_byte': 36, 'tail_mask': 240, 'allocation_end': 59}), ({'w': 8, 'h': 6, 'x': 4, 'y': 4, 'colors': 5, 'base': 17, 'value': 5, 'old': 39}, {'palette_bytes': 17, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 34, 'byte_address': 57, 'shift': 4, 'keep_mask': 15, 'written_byte': 87, 'tail_mask': 255, 'allocation_end': 64}), ({'w': 9, 'h': 7, 'x': 5, 'y': 5, 'colors': 5, 'base': 17, 'value': 6, 'old': 40}, {'palette_bytes': 17, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 34, 'byte_address': 67, 'shift': 0, 'keep_mask': 240, 'written_byte': 38, 'tail_mask': 240, 'allocation_end': 76})], 2: [({'w': 5, 'h': 2, 'x': 0, 'y': 0, 'colors': 6, 'base': 34, 'value': 2, 'old': 35}, {'palette_bytes': 20, 'packed_bytes': 3, 'row_pitch': 4, 'image_origin': 54, 'byte_address': 55, 'shift': 4, 'keep_mask': 15, 'written_byte': 35, 'tail_mask': 240, 'allocation_end': 62}), ({'w': 6, 'h': 3, 'x': 1, 'y': 1, 'colors': 6, 'base': 34, 'value': 3, 'old': 36}, {'palette_bytes': 20, 'packed_bytes': 3, 'row_pitch': 4, 'image_origin': 54, 'byte_address': 59, 'shift': 0, 'keep_mask': 240, 'written_byte': 35, 'tail_mask': 255, 'allocation_end': 66}), ({'w': 7, 'h': 4, 'x': 2, 'y': 2, 'colors': 6, 'base': 34, 'value': 4, 'old': 37}, {'palette_bytes': 20, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 54, 'byte_address': 66, 'shift': 4, 'keep_mask': 15, 'written_byte': 69, 'tail_mask': 240, 'allocation_end': 74}), ({'w': 8, 'h': 5, 'x': 3, 'y': 3, 'colors': 6, 'base': 34, 'value': 5, 'old': 38}, {'palette_bytes': 20, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 54, 'byte_address': 71, 'shift': 0, 'keep_mask': 240, 'written_byte': 37, 'tail_mask': 255, 'allocation_end': 79}), ({'w': 9, 'h': 6, 'x': 4, 'y': 4, 'colors': 6, 'base': 34, 'value': 6, 'old': 39}, {'palette_bytes': 20, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 54, 'byte_address': 81, 'shift': 4, 'keep_mask': 15, 'written_byte': 103, 'tail_mask': 240, 'allocation_end': 90}), ({'w': 10, 'h': 7, 'x': 5, 'y': 5, 'colors': 6, 'base': 34, 'value': 7, 'old': 40}, {'palette_bytes': 20, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 54, 'byte_address': 87, 'shift': 0, 'keep_mask': 240, 'written_byte': 39, 'tail_mask': 255, 'allocation_end': 96})], 3: [({'w': 6, 'h': 2, 'x': 0, 'y': 0, 'colors': 7, 'base': 51, 'value': 3, 'old': 35}, {'palette_bytes': 23, 'packed_bytes': 3, 'row_pitch': 4, 'image_origin': 74, 'byte_address': 75, 'shift': 4, 'keep_mask': 15, 'written_byte': 51, 'tail_mask': 255, 'allocation_end': 82}), ({'w': 7, 'h': 3, 'x': 1, 'y': 1, 'colors': 7, 'base': 51, 'value': 4, 'old': 36}, {'palette_bytes': 23, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 74, 'byte_address': 80, 'shift': 0, 'keep_mask': 240, 'written_byte': 36, 'tail_mask': 240, 'allocation_end': 89}), ({'w': 8, 'h': 4, 'x': 2, 'y': 2, 'colors': 7, 'base': 51, 'value': 5, 'old': 37}, {'palette_bytes': 23, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 74, 'byte_address': 86, 'shift': 4, 'keep_mask': 15, 'written_byte': 85, 'tail_mask': 255, 'allocation_end': 94}), ({'w': 9, 'h': 5, 'x': 3, 'y': 3, 'colors': 7, 'base': 51, 'value': 6, 'old': 38}, {'palette_bytes': 23, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 74, 'byte_address': 94, 'shift': 0, 'keep_mask': 240, 'written_byte': 38, 'tail_mask': 240, 'allocation_end': 104}), ({'w': 10, 'h': 6, 'x': 4, 'y': 4, 'colors': 7, 'base': 51, 'value': 7, 'old': 39}, {'palette_bytes': 23, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 74, 'byte_address': 101, 'shift': 4, 'keep_mask': 15, 'written_byte': 119, 'tail_mask': 255, 'allocation_end': 110}), ({'w': 11, 'h': 7, 'x': 5, 'y': 5, 'colors': 7, 'base': 51, 'value': 8, 'old': 40}, {'palette_bytes': 23, 'packed_bytes': 6, 'row_pitch': 7, 'image_origin': 74, 'byte_address': 112, 'shift': 0, 'keep_mask': 240, 'written_byte': 40, 'tail_mask': 240, 'allocation_end': 123})], 4: [({'w': 7, 'h': 2, 'x': 0, 'y': 0, 'colors': 8, 'base': 68, 'value': 4, 'old': 35}, {'palette_bytes': 26, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 94, 'byte_address': 95, 'shift': 4, 'keep_mask': 15, 'written_byte': 67, 'tail_mask': 240, 'allocation_end': 104}), ({'w': 8, 'h': 3, 'x': 1, 'y': 1, 'colors': 8, 'base': 68, 'value': 5, 'old': 36}, {'palette_bytes': 26, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 94, 'byte_address': 100, 'shift': 0, 'keep_mask': 240, 'written_byte': 37, 'tail_mask': 255, 'allocation_end': 109}), ({'w': 9, 'h': 4, 'x': 2, 'y': 2, 'colors': 8, 'base': 68, 'value': 6, 'old': 37}, {'palette_bytes': 26, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 94, 'byte_address': 108, 'shift': 4, 'keep_mask': 15, 'written_byte': 101, 'tail_mask': 240, 'allocation_end': 118}), ({'w': 10, 'h': 5, 'x': 3, 'y': 3, 'colors': 8, 'base': 68, 'value': 7, 'old': 38}, {'palette_bytes': 26, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 94, 'byte_address': 114, 'shift': 0, 'keep_mask': 240, 'written_byte': 39, 'tail_mask': 255, 'allocation_end': 124}), ({'w': 11, 'h': 6, 'x': 4, 'y': 4, 'colors': 8, 'base': 68, 'value': 8, 'old': 39}, {'palette_bytes': 26, 'packed_bytes': 6, 'row_pitch': 7, 'image_origin': 94, 'byte_address': 125, 'shift': 4, 'keep_mask': 15, 'written_byte': 135, 'tail_mask': 240, 'allocation_end': 136}), ({'w': 12, 'h': 7, 'x': 5, 'y': 5, 'colors': 8, 'base': 68, 'value': 9, 'old': 40}, {'palette_bytes': 26, 'packed_bytes': 6, 'row_pitch': 7, 'image_origin': 94, 'byte_address': 132, 'shift': 0, 'keep_mask': 240, 'written_byte': 41, 'tail_mask': 255, 'allocation_end': 143})], 5: [({'w': 8, 'h': 2, 'x': 0, 'y': 0, 'colors': 9, 'base': 85, 'value': 5, 'old': 35}, {'palette_bytes': 29, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 114, 'byte_address': 115, 'shift': 4, 'keep_mask': 15, 'written_byte': 83, 'tail_mask': 255, 'allocation_end': 124}), ({'w': 9, 'h': 3, 'x': 1, 'y': 1, 'colors': 9, 'base': 85, 'value': 6, 'old': 36}, {'palette_bytes': 29, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 114, 'byte_address': 121, 'shift': 0, 'keep_mask': 240, 'written_byte': 38, 'tail_mask': 240, 'allocation_end': 132}), ({'w': 10, 'h': 4, 'x': 2, 'y': 2, 'colors': 9, 'base': 85, 'value': 7, 'old': 37}, {'palette_bytes': 29, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 114, 'byte_address': 128, 'shift': 4, 'keep_mask': 15, 'written_byte': 117, 'tail_mask': 255, 'allocation_end': 138}), ({'w': 11, 'h': 5, 'x': 3, 'y': 3, 'colors': 9, 'base': 85, 'value': 8, 'old': 38}, {'palette_bytes': 29, 'packed_bytes': 6, 'row_pitch': 7, 'image_origin': 114, 'byte_address': 137, 'shift': 0, 'keep_mask': 240, 'written_byte': 40, 'tail_mask': 240, 'allocation_end': 149}), ({'w': 12, 'h': 6, 'x': 4, 'y': 4, 'colors': 9, 'base': 85, 'value': 9, 'old': 39}, {'palette_bytes': 29, 'packed_bytes': 6, 'row_pitch': 7, 'image_origin': 114, 'byte_address': 145, 'shift': 4, 'keep_mask': 15, 'written_byte': 151, 'tail_mask': 255, 'allocation_end': 156}), ({'w': 13, 'h': 7, 'x': 5, 'y': 5, 'colors': 9, 'base': 85, 'value': 10, 'old': 40}, {'palette_bytes': 29, 'packed_bytes': 7, 'row_pitch': 8, 'image_origin': 114, 'byte_address': 157, 'shift': 0, 'keep_mask': 240, 'written_byte': 42, 'tail_mask': 240, 'allocation_end': 170})]}\nfor i, (p, expected) in enumerate(cases[N]):\n    check(\"layout fixture \" + str(i + 1), solve(p), 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":"c007dc912c92756535e9f03fbe9441d8d2dbe6c55dbe4d44837c697cb4ea72ce","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(p):\n    p = dict(p)\n    palette_bytes = 2+p[\"colors\"]*3\n    packed_bytes = (p[\"w\"]+1)//2\n    row_pitch = packed_bytes+1\n    image_origin = p[\"base\"]+palette_bytes\n    byte_address = image_origin+p[\"y\"]*row_pitch+1+p[\"x\"]//2\n    shift = 4 if p[\"x\"]%2==0 else 0\n    keep_mask = 255 ^ (15<<shift)\n    written_byte = (p[\"old\"]&keep_mask)|((p[\"value\"]&15)<<shift)\n    tail_mask = 240 if p[\"w\"]%2 else 255\n    allocation_end = image_origin+p[\"h\"]*packed_bytes\n    return {'palette_bytes': palette_bytes, 'packed_bytes': packed_bytes, 'row_pitch': row_pitch, 'image_origin': image_origin, 'byte_address': byte_address, 'shift': shift, 'keep_mask': keep_mask, 'written_byte': written_byte, 'tail_mask': tail_mask, 'allocation_end': allocation_end}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [({'w': 4, 'h': 2, 'x': 0, 'y': 0, 'colors': 5, 'base': 17, 'value': 1, 'old': 35}, {'palette_bytes': 17, 'packed_bytes': 2, 'row_pitch': 3, 'image_origin': 34, 'byte_address': 35, 'shift': 4, 'keep_mask': 15, 'written_byte': 19, 'tail_mask': 255, 'allocation_end': 40}), ({'w': 5, 'h': 3, 'x': 1, 'y': 1, 'colors': 5, 'base': 17, 'value': 2, 'old': 36}, {'palette_bytes': 17, 'packed_bytes': 3, 'row_pitch': 4, 'image_origin': 34, 'byte_address': 39, 'shift': 0, 'keep_mask': 240, 'written_byte': 34, 'tail_mask': 240, 'allocation_end': 46}), ({'w': 6, 'h': 4, 'x': 2, 'y': 2, 'colors': 5, 'base': 17, 'value': 3, 'old': 37}, {'palette_bytes': 17, 'packed_bytes': 3, 'row_pitch': 4, 'image_origin': 34, 'byte_address': 44, 'shift': 4, 'keep_mask': 15, 'written_byte': 53, 'tail_mask': 255, 'allocation_end': 50}), ({'w': 7, 'h': 5, 'x': 3, 'y': 3, 'colors': 5, 'base': 17, 'value': 4, 'old': 38}, {'palette_bytes': 17, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 34, 'byte_address': 51, 'shift': 0, 'keep_mask': 240, 'written_byte': 36, 'tail_mask': 240, 'allocation_end': 59}), ({'w': 8, 'h': 6, 'x': 4, 'y': 4, 'colors': 5, 'base': 17, 'value': 5, 'old': 39}, {'palette_bytes': 17, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 34, 'byte_address': 57, 'shift': 4, 'keep_mask': 15, 'written_byte': 87, 'tail_mask': 255, 'allocation_end': 64}), ({'w': 9, 'h': 7, 'x': 5, 'y': 5, 'colors': 5, 'base': 17, 'value': 6, 'old': 40}, {'palette_bytes': 17, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 34, 'byte_address': 67, 'shift': 0, 'keep_mask': 240, 'written_byte': 38, 'tail_mask': 240, 'allocation_end': 76})], 2: [({'w': 5, 'h': 2, 'x': 0, 'y': 0, 'colors': 6, 'base': 34, 'value': 2, 'old': 35}, {'palette_bytes': 20, 'packed_bytes': 3, 'row_pitch': 4, 'image_origin': 54, 'byte_address': 55, 'shift': 4, 'keep_mask': 15, 'written_byte': 35, 'tail_mask': 240, 'allocation_end': 62}), ({'w': 6, 'h': 3, 'x': 1, 'y': 1, 'colors': 6, 'base': 34, 'value': 3, 'old': 36}, {'palette_bytes': 20, 'packed_bytes': 3, 'row_pitch': 4, 'image_origin': 54, 'byte_address': 59, 'shift': 0, 'keep_mask': 240, 'written_byte': 35, 'tail_mask': 255, 'allocation_end': 66}), ({'w': 7, 'h': 4, 'x': 2, 'y': 2, 'colors': 6, 'base': 34, 'value': 4, 'old': 37}, {'palette_bytes': 20, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 54, 'byte_address': 66, 'shift': 4, 'keep_mask': 15, 'written_byte': 69, 'tail_mask': 240, 'allocation_end': 74}), ({'w': 8, 'h': 5, 'x': 3, 'y': 3, 'colors': 6, 'base': 34, 'value': 5, 'old': 38}, {'palette_bytes': 20, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 54, 'byte_address': 71, 'shift': 0, 'keep_mask': 240, 'written_byte': 37, 'tail_mask': 255, 'allocation_end': 79}), ({'w': 9, 'h': 6, 'x': 4, 'y': 4, 'colors': 6, 'base': 34, 'value': 6, 'old': 39}, {'palette_bytes': 20, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 54, 'byte_address': 81, 'shift': 4, 'keep_mask': 15, 'written_byte': 103, 'tail_mask': 240, 'allocation_end': 90}), ({'w': 10, 'h': 7, 'x': 5, 'y': 5, 'colors': 6, 'base': 34, 'value': 7, 'old': 40}, {'palette_bytes': 20, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 54, 'byte_address': 87, 'shift': 0, 'keep_mask': 240, 'written_byte': 39, 'tail_mask': 255, 'allocation_end': 96})], 3: [({'w': 6, 'h': 2, 'x': 0, 'y': 0, 'colors': 7, 'base': 51, 'value': 3, 'old': 35}, {'palette_bytes': 23, 'packed_bytes': 3, 'row_pitch': 4, 'image_origin': 74, 'byte_address': 75, 'shift': 4, 'keep_mask': 15, 'written_byte': 51, 'tail_mask': 255, 'allocation_end': 82}), ({'w': 7, 'h': 3, 'x': 1, 'y': 1, 'colors': 7, 'base': 51, 'value': 4, 'old': 36}, {'palette_bytes': 23, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 74, 'byte_address': 80, 'shift': 0, 'keep_mask': 240, 'written_byte': 36, 'tail_mask': 240, 'allocation_end': 89}), ({'w': 8, 'h': 4, 'x': 2, 'y': 2, 'colors': 7, 'base': 51, 'value': 5, 'old': 37}, {'palette_bytes': 23, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 74, 'byte_address': 86, 'shift': 4, 'keep_mask': 15, 'written_byte': 85, 'tail_mask': 255, 'allocation_end': 94}), ({'w': 9, 'h': 5, 'x': 3, 'y': 3, 'colors': 7, 'base': 51, 'value': 6, 'old': 38}, {'palette_bytes': 23, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 74, 'byte_address': 94, 'shift': 0, 'keep_mask': 240, 'written_byte': 38, 'tail_mask': 240, 'allocation_end': 104}), ({'w': 10, 'h': 6, 'x': 4, 'y': 4, 'colors': 7, 'base': 51, 'value': 7, 'old': 39}, {'palette_bytes': 23, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 74, 'byte_address': 101, 'shift': 4, 'keep_mask': 15, 'written_byte': 119, 'tail_mask': 255, 'allocation_end': 110}), ({'w': 11, 'h': 7, 'x': 5, 'y': 5, 'colors': 7, 'base': 51, 'value': 8, 'old': 40}, {'palette_bytes': 23, 'packed_bytes': 6, 'row_pitch': 7, 'image_origin': 74, 'byte_address': 112, 'shift': 0, 'keep_mask': 240, 'written_byte': 40, 'tail_mask': 240, 'allocation_end': 123})], 4: [({'w': 7, 'h': 2, 'x': 0, 'y': 0, 'colors': 8, 'base': 68, 'value': 4, 'old': 35}, {'palette_bytes': 26, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 94, 'byte_address': 95, 'shift': 4, 'keep_mask': 15, 'written_byte': 67, 'tail_mask': 240, 'allocation_end': 104}), ({'w': 8, 'h': 3, 'x': 1, 'y': 1, 'colors': 8, 'base': 68, 'value': 5, 'old': 36}, {'palette_bytes': 26, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 94, 'byte_address': 100, 'shift': 0, 'keep_mask': 240, 'written_byte': 37, 'tail_mask': 255, 'allocation_end': 109}), ({'w': 9, 'h': 4, 'x': 2, 'y': 2, 'colors': 8, 'base': 68, 'value': 6, 'old': 37}, {'palette_bytes': 26, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 94, 'byte_address': 108, 'shift': 4, 'keep_mask': 15, 'written_byte': 101, 'tail_mask': 240, 'allocation_end': 118}), ({'w': 10, 'h': 5, 'x': 3, 'y': 3, 'colors': 8, 'base': 68, 'value': 7, 'old': 38}, {'palette_bytes': 26, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 94, 'byte_address': 114, 'shift': 0, 'keep_mask': 240, 'written_byte': 39, 'tail_mask': 255, 'allocation_end': 124}), ({'w': 11, 'h': 6, 'x': 4, 'y': 4, 'colors': 8, 'base': 68, 'value': 8, 'old': 39}, {'palette_bytes': 26, 'packed_bytes': 6, 'row_pitch': 7, 'image_origin': 94, 'byte_address': 125, 'shift': 4, 'keep_mask': 15, 'written_byte': 135, 'tail_mask': 240, 'allocation_end': 136}), ({'w': 12, 'h': 7, 'x': 5, 'y': 5, 'colors': 8, 'base': 68, 'value': 9, 'old': 40}, {'palette_bytes': 26, 'packed_bytes': 6, 'row_pitch': 7, 'image_origin': 94, 'byte_address': 132, 'shift': 0, 'keep_mask': 240, 'written_byte': 41, 'tail_mask': 255, 'allocation_end': 143})], 5: [({'w': 8, 'h': 2, 'x': 0, 'y': 0, 'colors': 9, 'base': 85, 'value': 5, 'old': 35}, {'palette_bytes': 29, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 114, 'byte_address': 115, 'shift': 4, 'keep_mask': 15, 'written_byte': 83, 'tail_mask': 255, 'allocation_end': 124}), ({'w': 9, 'h': 3, 'x': 1, 'y': 1, 'colors': 9, 'base': 85, 'value': 6, 'old': 36}, {'palette_bytes': 29, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 114, 'byte_address': 121, 'shift': 0, 'keep_mask': 240, 'written_byte': 38, 'tail_mask': 240, 'allocation_end': 132}), ({'w': 10, 'h': 4, 'x': 2, 'y': 2, 'colors': 9, 'base': 85, 'value': 7, 'old': 37}, {'palette_bytes': 29, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 114, 'byte_address': 128, 'shift': 4, 'keep_mask': 15, 'written_byte': 117, 'tail_mask': 255, 'allocation_end': 138}), ({'w': 11, 'h': 5, 'x': 3, 'y': 3, 'colors': 9, 'base': 85, 'value': 8, 'old': 38}, {'palette_bytes': 29, 'packed_bytes': 6, 'row_pitch': 7, 'image_origin': 114, 'byte_address': 137, 'shift': 0, 'keep_mask': 240, 'written_byte': 40, 'tail_mask': 240, 'allocation_end': 149}), ({'w': 12, 'h': 6, 'x': 4, 'y': 4, 'colors': 9, 'base': 85, 'value': 9, 'old': 39}, {'palette_bytes': 29, 'packed_bytes': 6, 'row_pitch': 7, 'image_origin': 114, 'byte_address': 145, 'shift': 4, 'keep_mask': 15, 'written_byte': 151, 'tail_mask': 255, 'allocation_end': 156}), ({'w': 13, 'h': 7, 'x': 5, 'y': 5, 'colors': 9, 'base': 85, 'value': 10, 'old': 40}, {'palette_bytes': 29, 'packed_bytes': 7, 'row_pitch': 8, 'image_origin': 114, 'byte_address': 157, 'shift': 0, 'keep_mask': 240, 'written_byte': 42, 'tail_mask': 240, 'allocation_end': 170})]}\nfor i, (p, expected) in enumerate(cases[N]):\n    check(\"layout fixture \" + str(i + 1), solve(p), 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":"0a2f752485fae66dc839c311bd3c5910c225fc4c913538f7aebebd96b48a19c0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(p):\n    p = dict(p)\n    palette_bytes = 2+p[\"colors\"]*3\n    packed_bytes = (p[\"w\"]+1)//2\n    row_pitch = packed_bytes+1\n    image_origin = p[\"base\"]+palette_bytes\n    byte_address = image_origin+p[\"y\"]*row_pitch+1+p[\"x\"]//2\n    shift = 4 if p[\"x\"]%2==0 else 0\n    keep_mask = 255 ^ (15<<shift)\n    written_byte = (p[\"old\"]&keep_mask)|((p[\"value\"]&15)<<shift)\n    tail_mask = 240 if p[\"w\"]%2 else 255\n    allocation_end = image_origin+p[\"h\"]*row_pitch\n    return {'palette_bytes': palette_bytes, 'packed_bytes': packed_bytes, 'row_pitch': row_pitch, 'image_origin': image_origin, 'byte_address': byte_address, 'shift': shift, 'keep_mask': keep_mask, 'written_byte': written_byte, 'tail_mask': tail_mask, 'allocation_end': allocation_end}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [({'w': 4, 'h': 2, 'x': 0, 'y': 0, 'colors': 5, 'base': 17, 'value': 1, 'old': 35}, {'palette_bytes': 17, 'packed_bytes': 2, 'row_pitch': 3, 'image_origin': 34, 'byte_address': 35, 'shift': 4, 'keep_mask': 15, 'written_byte': 19, 'tail_mask': 255, 'allocation_end': 40}), ({'w': 5, 'h': 3, 'x': 1, 'y': 1, 'colors': 5, 'base': 17, 'value': 2, 'old': 36}, {'palette_bytes': 17, 'packed_bytes': 3, 'row_pitch': 4, 'image_origin': 34, 'byte_address': 39, 'shift': 0, 'keep_mask': 240, 'written_byte': 34, 'tail_mask': 240, 'allocation_end': 46}), ({'w': 6, 'h': 4, 'x': 2, 'y': 2, 'colors': 5, 'base': 17, 'value': 3, 'old': 37}, {'palette_bytes': 17, 'packed_bytes': 3, 'row_pitch': 4, 'image_origin': 34, 'byte_address': 44, 'shift': 4, 'keep_mask': 15, 'written_byte': 53, 'tail_mask': 255, 'allocation_end': 50}), ({'w': 7, 'h': 5, 'x': 3, 'y': 3, 'colors': 5, 'base': 17, 'value': 4, 'old': 38}, {'palette_bytes': 17, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 34, 'byte_address': 51, 'shift': 0, 'keep_mask': 240, 'written_byte': 36, 'tail_mask': 240, 'allocation_end': 59}), ({'w': 8, 'h': 6, 'x': 4, 'y': 4, 'colors': 5, 'base': 17, 'value': 5, 'old': 39}, {'palette_bytes': 17, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 34, 'byte_address': 57, 'shift': 4, 'keep_mask': 15, 'written_byte': 87, 'tail_mask': 255, 'allocation_end': 64}), ({'w': 9, 'h': 7, 'x': 5, 'y': 5, 'colors': 5, 'base': 17, 'value': 6, 'old': 40}, {'palette_bytes': 17, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 34, 'byte_address': 67, 'shift': 0, 'keep_mask': 240, 'written_byte': 38, 'tail_mask': 240, 'allocation_end': 76})], 2: [({'w': 5, 'h': 2, 'x': 0, 'y': 0, 'colors': 6, 'base': 34, 'value': 2, 'old': 35}, {'palette_bytes': 20, 'packed_bytes': 3, 'row_pitch': 4, 'image_origin': 54, 'byte_address': 55, 'shift': 4, 'keep_mask': 15, 'written_byte': 35, 'tail_mask': 240, 'allocation_end': 62}), ({'w': 6, 'h': 3, 'x': 1, 'y': 1, 'colors': 6, 'base': 34, 'value': 3, 'old': 36}, {'palette_bytes': 20, 'packed_bytes': 3, 'row_pitch': 4, 'image_origin': 54, 'byte_address': 59, 'shift': 0, 'keep_mask': 240, 'written_byte': 35, 'tail_mask': 255, 'allocation_end': 66}), ({'w': 7, 'h': 4, 'x': 2, 'y': 2, 'colors': 6, 'base': 34, 'value': 4, 'old': 37}, {'palette_bytes': 20, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 54, 'byte_address': 66, 'shift': 4, 'keep_mask': 15, 'written_byte': 69, 'tail_mask': 240, 'allocation_end': 74}), ({'w': 8, 'h': 5, 'x': 3, 'y': 3, 'colors': 6, 'base': 34, 'value': 5, 'old': 38}, {'palette_bytes': 20, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 54, 'byte_address': 71, 'shift': 0, 'keep_mask': 240, 'written_byte': 37, 'tail_mask': 255, 'allocation_end': 79}), ({'w': 9, 'h': 6, 'x': 4, 'y': 4, 'colors': 6, 'base': 34, 'value': 6, 'old': 39}, {'palette_bytes': 20, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 54, 'byte_address': 81, 'shift': 4, 'keep_mask': 15, 'written_byte': 103, 'tail_mask': 240, 'allocation_end': 90}), ({'w': 10, 'h': 7, 'x': 5, 'y': 5, 'colors': 6, 'base': 34, 'value': 7, 'old': 40}, {'palette_bytes': 20, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 54, 'byte_address': 87, 'shift': 0, 'keep_mask': 240, 'written_byte': 39, 'tail_mask': 255, 'allocation_end': 96})], 3: [({'w': 6, 'h': 2, 'x': 0, 'y': 0, 'colors': 7, 'base': 51, 'value': 3, 'old': 35}, {'palette_bytes': 23, 'packed_bytes': 3, 'row_pitch': 4, 'image_origin': 74, 'byte_address': 75, 'shift': 4, 'keep_mask': 15, 'written_byte': 51, 'tail_mask': 255, 'allocation_end': 82}), ({'w': 7, 'h': 3, 'x': 1, 'y': 1, 'colors': 7, 'base': 51, 'value': 4, 'old': 36}, {'palette_bytes': 23, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 74, 'byte_address': 80, 'shift': 0, 'keep_mask': 240, 'written_byte': 36, 'tail_mask': 240, 'allocation_end': 89}), ({'w': 8, 'h': 4, 'x': 2, 'y': 2, 'colors': 7, 'base': 51, 'value': 5, 'old': 37}, {'palette_bytes': 23, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 74, 'byte_address': 86, 'shift': 4, 'keep_mask': 15, 'written_byte': 85, 'tail_mask': 255, 'allocation_end': 94}), ({'w': 9, 'h': 5, 'x': 3, 'y': 3, 'colors': 7, 'base': 51, 'value': 6, 'old': 38}, {'palette_bytes': 23, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 74, 'byte_address': 94, 'shift': 0, 'keep_mask': 240, 'written_byte': 38, 'tail_mask': 240, 'allocation_end': 104}), ({'w': 10, 'h': 6, 'x': 4, 'y': 4, 'colors': 7, 'base': 51, 'value': 7, 'old': 39}, {'palette_bytes': 23, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 74, 'byte_address': 101, 'shift': 4, 'keep_mask': 15, 'written_byte': 119, 'tail_mask': 255, 'allocation_end': 110}), ({'w': 11, 'h': 7, 'x': 5, 'y': 5, 'colors': 7, 'base': 51, 'value': 8, 'old': 40}, {'palette_bytes': 23, 'packed_bytes': 6, 'row_pitch': 7, 'image_origin': 74, 'byte_address': 112, 'shift': 0, 'keep_mask': 240, 'written_byte': 40, 'tail_mask': 240, 'allocation_end': 123})], 4: [({'w': 7, 'h': 2, 'x': 0, 'y': 0, 'colors': 8, 'base': 68, 'value': 4, 'old': 35}, {'palette_bytes': 26, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 94, 'byte_address': 95, 'shift': 4, 'keep_mask': 15, 'written_byte': 67, 'tail_mask': 240, 'allocation_end': 104}), ({'w': 8, 'h': 3, 'x': 1, 'y': 1, 'colors': 8, 'base': 68, 'value': 5, 'old': 36}, {'palette_bytes': 26, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 94, 'byte_address': 100, 'shift': 0, 'keep_mask': 240, 'written_byte': 37, 'tail_mask': 255, 'allocation_end': 109}), ({'w': 9, 'h': 4, 'x': 2, 'y': 2, 'colors': 8, 'base': 68, 'value': 6, 'old': 37}, {'palette_bytes': 26, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 94, 'byte_address': 108, 'shift': 4, 'keep_mask': 15, 'written_byte': 101, 'tail_mask': 240, 'allocation_end': 118}), ({'w': 10, 'h': 5, 'x': 3, 'y': 3, 'colors': 8, 'base': 68, 'value': 7, 'old': 38}, {'palette_bytes': 26, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 94, 'byte_address': 114, 'shift': 0, 'keep_mask': 240, 'written_byte': 39, 'tail_mask': 255, 'allocation_end': 124}), ({'w': 11, 'h': 6, 'x': 4, 'y': 4, 'colors': 8, 'base': 68, 'value': 8, 'old': 39}, {'palette_bytes': 26, 'packed_bytes': 6, 'row_pitch': 7, 'image_origin': 94, 'byte_address': 125, 'shift': 4, 'keep_mask': 15, 'written_byte': 135, 'tail_mask': 240, 'allocation_end': 136}), ({'w': 12, 'h': 7, 'x': 5, 'y': 5, 'colors': 8, 'base': 68, 'value': 9, 'old': 40}, {'palette_bytes': 26, 'packed_bytes': 6, 'row_pitch': 7, 'image_origin': 94, 'byte_address': 132, 'shift': 0, 'keep_mask': 240, 'written_byte': 41, 'tail_mask': 255, 'allocation_end': 143})], 5: [({'w': 8, 'h': 2, 'x': 0, 'y': 0, 'colors': 9, 'base': 85, 'value': 5, 'old': 35}, {'palette_bytes': 29, 'packed_bytes': 4, 'row_pitch': 5, 'image_origin': 114, 'byte_address': 115, 'shift': 4, 'keep_mask': 15, 'written_byte': 83, 'tail_mask': 255, 'allocation_end': 124}), ({'w': 9, 'h': 3, 'x': 1, 'y': 1, 'colors': 9, 'base': 85, 'value': 6, 'old': 36}, {'palette_bytes': 29, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 114, 'byte_address': 121, 'shift': 0, 'keep_mask': 240, 'written_byte': 38, 'tail_mask': 240, 'allocation_end': 132}), ({'w': 10, 'h': 4, 'x': 2, 'y': 2, 'colors': 9, 'base': 85, 'value': 7, 'old': 37}, {'palette_bytes': 29, 'packed_bytes': 5, 'row_pitch': 6, 'image_origin': 114, 'byte_address': 128, 'shift': 4, 'keep_mask': 15, 'written_byte': 117, 'tail_mask': 255, 'allocation_end': 138}), ({'w': 11, 'h': 5, 'x': 3, 'y': 3, 'colors': 9, 'base': 85, 'value': 8, 'old': 38}, {'palette_bytes': 29, 'packed_bytes': 6, 'row_pitch': 7, 'image_origin': 114, 'byte_address': 137, 'shift': 0, 'keep_mask': 240, 'written_byte': 40, 'tail_mask': 240, 'allocation_end': 149}), ({'w': 12, 'h': 6, 'x': 4, 'y': 4, 'colors': 9, 'base': 85, 'value': 9, 'old': 39}, {'palette_bytes': 29, 'packed_bytes': 6, 'row_pitch': 7, 'image_origin': 114, 'byte_address': 145, 'shift': 4, 'keep_mask': 15, 'written_byte': 151, 'tail_mask': 255, 'allocation_end': 156}), ({'w': 13, 'h': 7, 'x': 5, 'y': 5, 'colors': 9, 'base': 85, 'value': 10, 'old': 40}, {'palette_bytes': 29, 'packed_bytes': 7, 'row_pitch': 8, 'image_origin': 114, 'byte_address': 157, 'shift': 0, 'keep_mask': 240, 'written_byte': 42, 'tail_mask': 240, 'allocation_end': 170})]}\nfor i, (p, expected) in enumerate(cases[N]):\n    check(\"layout fixture \" + str(i + 1), solve(p), 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":"Stipulated deterministic toy buffer layout; not a graphics API, codec, GPU vendor tiling specification, or hardware-conformance claim. Inputs satisfy the dimensions and bounds stated by the model. 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":"s3-raster-memory-layout-indexed-nibble-records-allocation-end","generated_at":"2026-09-29T14:45:28.847815+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Offline raster resource, upload, readback, and storage-layout regression model.","repair":"Apply the stipulated layout rule at allocation_end: image_origin+p[\"h\"]*row_pitch.","root_cause":"Indexed allocation excludes checksums or adds nonexistent scanline The faulty expression is image_origin+p[\"h\"]*packed_bytes.","sha256":"60033a667012f053b17931134bdaf81a9c5a029ce9000c81b3e5fa84216dba23","title":"Indexed Nibble Records: Indexed allocation excludes checksums or adds nonexistent scanline · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.747,"exit_code":1,"observations":[{"actual":{"allocation_end":43,"byte_address":35,"image_origin":34,"keep_mask":15,"packed_bytes":2,"palette_bytes":17,"row_pitch":3,"shift":4,"tail_mask":255,"written_byte":19},"check":"layout fixture 1","expected":{"allocation_end":40,"byte_address":35,"image_origin":34,"keep_mask":15,"packed_bytes":2,"palette_bytes":17,"row_pitch":3,"shift":4,"tail_mask":255,"written_byte":19},"passed":false},{"actual":{"allocation_end":50,"byte_address":39,"image_origin":34,"keep_mask":240,"packed_bytes":3,"palette_bytes":17,"row_pitch":4,"shift":0,"tail_mask":240,"written_byte":34},"check":"layout fixture 2","expected":{"allocation_end":46,"byte_address":39,"image_origin":34,"keep_mask":240,"packed_bytes":3,"palette_bytes":17,"row_pitch":4,"shift":0,"tail_mask":240,"written_byte":34},"passed":false},{"actual":{"allocation_end":54,"byte_address":44,"image_origin":34,"keep_mask":15,"packed_bytes":3,"palette_bytes":17,"row_pitch":4,"shift":4,"tail_mask":255,"written_byte":53},"check":"layout fixture 3","expected":{"allocation_end":50,"byte_address":44,"image_origin":34,"keep_mask":15,"packed_bytes":3,"palette_bytes":17,"row_pitch":4,"shift":4,"tail_mask":255,"written_byte":53},"passed":false},{"actual":{"allocation_end":64,"byte_address":51,"image_origin":34,"keep_mask":240,"packed_bytes":4,"palette_bytes":17,"row_pitch":5,"shift":0,"tail_mask":240,"written_byte":36},"check":"layout fixture 4","expected":{"allocation_end":59,"byte_address":51,"image_origin":34,"keep_mask":240,"packed_bytes":4,"palette_bytes":17,"row_pitch":5,"shift":0,"tail_mask":240,"written_byte":36},"passed":false},{"actual":{"allocation_end":69,"byte_address":57,"image_origin":34,"keep_mask":15,"packed_bytes":4,"palette_bytes":17,"row_pitch":5,"shift":4,"tail_mask":255,"written_byte":87},"check":"layout fixture 5","expected":{"allocation_end":64,"byte_address":57,"image_origin":34,"keep_mask":15,"packed_bytes":4,"palette_bytes":17,"row_pitch":5,"shift":4,"tail_mask":255,"written_byte":87},"passed":false},{"actual":{"allocation_end":82,"byte_address":67,"image_origin":34,"keep_mask":240,"packed_bytes":5,"palette_bytes":17,"row_pitch":6,"shift":0,"tail_mask":240,"written_byte":38},"check":"layout fixture 6","expected":{"allocation_end":76,"byte_address":67,"image_origin":34,"keep_mask":240,"packed_bytes":5,"palette_bytes":17,"row_pitch":6,"shift":0,"tail_mask":240,"written_byte":38},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"layout fixture 1\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 2, \"row_pitch\": 3, \"image_origin\": 34, \"byte_address\": 35, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 19, \"tail_mask\": 255, \"allocation_end\": 43}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 2, \"row_pitch\": 3, \"image_origin\": 34, \"byte_address\": 35, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 19, \"tail_mask\": 255, \"allocation_end\": 40}, \"passed\": false}, {\"check\": \"layout fixture 2\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 3, \"row_pitch\": 4, \"image_origin\": 34, \"byte_address\": 39, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 34, \"tail_mask\": 240, \"allocation_end\": 50}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 3, \"row_pitch\": 4, \"image_origin\": 34, \"byte_address\": 39, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 34, \"tail_mask\": 240, \"allocation_end\": 46}, \"passed\": false}, {\"check\": \"layout fixture 3\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 3, \"row_pitch\": 4, \"image_origin\": 34, \"byte_address\": 44, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 53, \"tail_mask\": 255, \"allocation_end\": 54}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 3, \"row_pitch\": 4, \"image_origin\": 34, \"byte_address\": 44, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 53, \"tail_mask\": 255, \"allocation_end\": 50}, \"passed\": false}, {\"check\": \"layout fixture 4\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 4, \"row_pitch\": 5, \"image_origin\": 34, \"byte_address\": 51, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 36, \"tail_mask\": 240, \"allocation_end\": 64}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 4, \"row_pitch\": 5, \"image_origin\": 34, \"byte_address\": 51, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 36, \"tail_mask\": 240, \"allocation_end\": 59}, \"passed\": false}, {\"check\": \"layout fixture 5\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 4, \"row_pitch\": 5, \"image_origin\": 34, \"byte_address\": 57, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 87, \"tail_mask\": 255, \"allocation_end\": 69}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 4, \"row_pitch\": 5, \"image_origin\": 34, \"byte_address\": 57, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 87, \"tail_mask\": 255, \"allocation_end\": 64}, \"passed\": false}, {\"check\": \"layout fixture 6\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 5, \"row_pitch\": 6, \"image_origin\": 34, \"byte_address\": 67, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 38, \"tail_mask\": 240, \"allocation_end\": 82}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 5, \"row_pitch\": 6, \"image_origin\": 34, \"byte_address\": 67, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 38, \"tail_mask\": 240, \"allocation_end\": 76}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.747,"exit_code":1,"observations":[{"actual":{"allocation_end":38,"byte_address":35,"image_origin":34,"keep_mask":15,"packed_bytes":2,"palette_bytes":17,"row_pitch":3,"shift":4,"tail_mask":255,"written_byte":19},"check":"layout fixture 1","expected":{"allocation_end":40,"byte_address":35,"image_origin":34,"keep_mask":15,"packed_bytes":2,"palette_bytes":17,"row_pitch":3,"shift":4,"tail_mask":255,"written_byte":19},"passed":false},{"actual":{"allocation_end":43,"byte_address":39,"image_origin":34,"keep_mask":240,"packed_bytes":3,"palette_bytes":17,"row_pitch":4,"shift":0,"tail_mask":240,"written_byte":34},"check":"layout fixture 2","expected":{"allocation_end":46,"byte_address":39,"image_origin":34,"keep_mask":240,"packed_bytes":3,"palette_bytes":17,"row_pitch":4,"shift":0,"tail_mask":240,"written_byte":34},"passed":false},{"actual":{"allocation_end":46,"byte_address":44,"image_origin":34,"keep_mask":15,"packed_bytes":3,"palette_bytes":17,"row_pitch":4,"shift":4,"tail_mask":255,"written_byte":53},"check":"layout fixture 3","expected":{"allocation_end":50,"byte_address":44,"image_origin":34,"keep_mask":15,"packed_bytes":3,"palette_bytes":17,"row_pitch":4,"shift":4,"tail_mask":255,"written_byte":53},"passed":false},{"actual":{"allocation_end":54,"byte_address":51,"image_origin":34,"keep_mask":240,"packed_bytes":4,"palette_bytes":17,"row_pitch":5,"shift":0,"tail_mask":240,"written_byte":36},"check":"layout fixture 4","expected":{"allocation_end":59,"byte_address":51,"image_origin":34,"keep_mask":240,"packed_bytes":4,"palette_bytes":17,"row_pitch":5,"shift":0,"tail_mask":240,"written_byte":36},"passed":false},{"actual":{"allocation_end":58,"byte_address":57,"image_origin":34,"keep_mask":15,"packed_bytes":4,"palette_bytes":17,"row_pitch":5,"shift":4,"tail_mask":255,"written_byte":87},"check":"layout fixture 5","expected":{"allocation_end":64,"byte_address":57,"image_origin":34,"keep_mask":15,"packed_bytes":4,"palette_bytes":17,"row_pitch":5,"shift":4,"tail_mask":255,"written_byte":87},"passed":false},{"actual":{"allocation_end":69,"byte_address":67,"image_origin":34,"keep_mask":240,"packed_bytes":5,"palette_bytes":17,"row_pitch":6,"shift":0,"tail_mask":240,"written_byte":38},"check":"layout fixture 6","expected":{"allocation_end":76,"byte_address":67,"image_origin":34,"keep_mask":240,"packed_bytes":5,"palette_bytes":17,"row_pitch":6,"shift":0,"tail_mask":240,"written_byte":38},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"layout fixture 1\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 2, \"row_pitch\": 3, \"image_origin\": 34, \"byte_address\": 35, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 19, \"tail_mask\": 255, \"allocation_end\": 38}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 2, \"row_pitch\": 3, \"image_origin\": 34, \"byte_address\": 35, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 19, \"tail_mask\": 255, \"allocation_end\": 40}, \"passed\": false}, {\"check\": \"layout fixture 2\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 3, \"row_pitch\": 4, \"image_origin\": 34, \"byte_address\": 39, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 34, \"tail_mask\": 240, \"allocation_end\": 43}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 3, \"row_pitch\": 4, \"image_origin\": 34, \"byte_address\": 39, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 34, \"tail_mask\": 240, \"allocation_end\": 46}, \"passed\": false}, {\"check\": \"layout fixture 3\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 3, \"row_pitch\": 4, \"image_origin\": 34, \"byte_address\": 44, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 53, \"tail_mask\": 255, \"allocation_end\": 46}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 3, \"row_pitch\": 4, \"image_origin\": 34, \"byte_address\": 44, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 53, \"tail_mask\": 255, \"allocation_end\": 50}, \"passed\": false}, {\"check\": \"layout fixture 4\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 4, \"row_pitch\": 5, \"image_origin\": 34, \"byte_address\": 51, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 36, \"tail_mask\": 240, \"allocation_end\": 54}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 4, \"row_pitch\": 5, \"image_origin\": 34, \"byte_address\": 51, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 36, \"tail_mask\": 240, \"allocation_end\": 59}, \"passed\": false}, {\"check\": \"layout fixture 5\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 4, \"row_pitch\": 5, \"image_origin\": 34, \"byte_address\": 57, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 87, \"tail_mask\": 255, \"allocation_end\": 58}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 4, \"row_pitch\": 5, \"image_origin\": 34, \"byte_address\": 57, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 87, \"tail_mask\": 255, \"allocation_end\": 64}, \"passed\": false}, {\"check\": \"layout fixture 6\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 5, \"row_pitch\": 6, \"image_origin\": 34, \"byte_address\": 67, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 38, \"tail_mask\": 240, \"allocation_end\": 69}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 5, \"row_pitch\": 6, \"image_origin\": 34, \"byte_address\": 67, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 38, \"tail_mask\": 240, \"allocation_end\": 76}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.434,"exit_code":0,"observations":[{"actual":{"allocation_end":40,"byte_address":35,"image_origin":34,"keep_mask":15,"packed_bytes":2,"palette_bytes":17,"row_pitch":3,"shift":4,"tail_mask":255,"written_byte":19},"check":"layout fixture 1","expected":{"allocation_end":40,"byte_address":35,"image_origin":34,"keep_mask":15,"packed_bytes":2,"palette_bytes":17,"row_pitch":3,"shift":4,"tail_mask":255,"written_byte":19},"passed":true},{"actual":{"allocation_end":46,"byte_address":39,"image_origin":34,"keep_mask":240,"packed_bytes":3,"palette_bytes":17,"row_pitch":4,"shift":0,"tail_mask":240,"written_byte":34},"check":"layout fixture 2","expected":{"allocation_end":46,"byte_address":39,"image_origin":34,"keep_mask":240,"packed_bytes":3,"palette_bytes":17,"row_pitch":4,"shift":0,"tail_mask":240,"written_byte":34},"passed":true},{"actual":{"allocation_end":50,"byte_address":44,"image_origin":34,"keep_mask":15,"packed_bytes":3,"palette_bytes":17,"row_pitch":4,"shift":4,"tail_mask":255,"written_byte":53},"check":"layout fixture 3","expected":{"allocation_end":50,"byte_address":44,"image_origin":34,"keep_mask":15,"packed_bytes":3,"palette_bytes":17,"row_pitch":4,"shift":4,"tail_mask":255,"written_byte":53},"passed":true},{"actual":{"allocation_end":59,"byte_address":51,"image_origin":34,"keep_mask":240,"packed_bytes":4,"palette_bytes":17,"row_pitch":5,"shift":0,"tail_mask":240,"written_byte":36},"check":"layout fixture 4","expected":{"allocation_end":59,"byte_address":51,"image_origin":34,"keep_mask":240,"packed_bytes":4,"palette_bytes":17,"row_pitch":5,"shift":0,"tail_mask":240,"written_byte":36},"passed":true},{"actual":{"allocation_end":64,"byte_address":57,"image_origin":34,"keep_mask":15,"packed_bytes":4,"palette_bytes":17,"row_pitch":5,"shift":4,"tail_mask":255,"written_byte":87},"check":"layout fixture 5","expected":{"allocation_end":64,"byte_address":57,"image_origin":34,"keep_mask":15,"packed_bytes":4,"palette_bytes":17,"row_pitch":5,"shift":4,"tail_mask":255,"written_byte":87},"passed":true},{"actual":{"allocation_end":76,"byte_address":67,"image_origin":34,"keep_mask":240,"packed_bytes":5,"palette_bytes":17,"row_pitch":6,"shift":0,"tail_mask":240,"written_byte":38},"check":"layout fixture 6","expected":{"allocation_end":76,"byte_address":67,"image_origin":34,"keep_mask":240,"packed_bytes":5,"palette_bytes":17,"row_pitch":6,"shift":0,"tail_mask":240,"written_byte":38},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"layout fixture 1\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 2, \"row_pitch\": 3, \"image_origin\": 34, \"byte_address\": 35, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 19, \"tail_mask\": 255, \"allocation_end\": 40}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 2, \"row_pitch\": 3, \"image_origin\": 34, \"byte_address\": 35, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 19, \"tail_mask\": 255, \"allocation_end\": 40}, \"passed\": true}, {\"check\": \"layout fixture 2\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 3, \"row_pitch\": 4, \"image_origin\": 34, \"byte_address\": 39, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 34, \"tail_mask\": 240, \"allocation_end\": 46}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 3, \"row_pitch\": 4, \"image_origin\": 34, \"byte_address\": 39, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 34, \"tail_mask\": 240, \"allocation_end\": 46}, \"passed\": true}, {\"check\": \"layout fixture 3\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 3, \"row_pitch\": 4, \"image_origin\": 34, \"byte_address\": 44, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 53, \"tail_mask\": 255, \"allocation_end\": 50}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 3, \"row_pitch\": 4, \"image_origin\": 34, \"byte_address\": 44, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 53, \"tail_mask\": 255, \"allocation_end\": 50}, \"passed\": true}, {\"check\": \"layout fixture 4\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 4, \"row_pitch\": 5, \"image_origin\": 34, \"byte_address\": 51, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 36, \"tail_mask\": 240, \"allocation_end\": 59}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 4, \"row_pitch\": 5, \"image_origin\": 34, \"byte_address\": 51, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 36, \"tail_mask\": 240, \"allocation_end\": 59}, \"passed\": true}, {\"check\": \"layout fixture 5\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 4, \"row_pitch\": 5, \"image_origin\": 34, \"byte_address\": 57, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 87, \"tail_mask\": 255, \"allocation_end\": 64}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 4, \"row_pitch\": 5, \"image_origin\": 34, \"byte_address\": 57, \"shift\": 4, \"keep_mask\": 15, \"written_byte\": 87, \"tail_mask\": 255, \"allocation_end\": 64}, \"passed\": true}, {\"check\": \"layout fixture 6\", \"actual\": {\"palette_bytes\": 17, \"packed_bytes\": 5, \"row_pitch\": 6, \"image_origin\": 34, \"byte_address\": 67, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 38, \"tail_mask\": 240, \"allocation_end\": 76}, \"expected\": {\"palette_bytes\": 17, \"packed_bytes\": 5, \"row_pitch\": 6, \"image_origin\": 34, \"byte_address\": 67, \"shift\": 0, \"keep_mask\": 240, \"written_byte\": 38, \"tail_mask\": 240, \"allocation_end\": 76}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}