{"abstract":"The returned physical layout descriptor disagrees with the declared buffer mapping at row_span.","category":"Raster memory layout","checks":6,"contract":"Rows are grouped in packets of three scanlines. Each group has a five-byte header and every full allocated row has a two-byte checksum. Last group stores only actual rows, with a seven-byte directory record per group. 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-chunked-row-groups","failed_approach":"The attempted repair uses p[\"w\"]*(p[\"b\"]+2) and still violates the layout contract.","family":"s3-raster-memory-layout-chunked-row-groups-row-span","id":"FA-52806","implementations":{"attempt":{"sha256":"307e6a4082d1c176e16c7837e2ceb6507fb56e3207ab8b450c8d0325501c8bee","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(p):\n    p = dict(p)\n    group_count = (p[\"h\"]+2)//3\n    group_id = p[\"y\"]//3\n    group_row = p[\"y\"]%3\n    row_span = p[\"w\"]*(p[\"b\"]+2)\n    directory_bytes = group_count*7\n    group_sizes = [5+min(3,p[\"h\"]-i*3)*row_span for i in range(group_count)]\n    group_origin = p[\"base\"]+directory_bytes+group_id*(5+3*row_span)\n    address = group_origin+5+group_row*row_span+p[\"x\"]*p[\"b\"]\n    checksum = group_origin+5+group_row*row_span+p[\"w\"]*p[\"b\"]\n    allocation_end = p[\"base\"]+directory_bytes+sum(group_sizes)\n    return {'group_count': group_count, 'group_id': group_id, 'group_row': group_row, 'row_span': row_span, 'directory_bytes': directory_bytes, 'group_sizes': group_sizes, 'group_origin': group_origin, 'address': address, 'checksum': checksum, 'allocation_end': allocation_end}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11}, {'group_count': 1, 'group_id': 0, 'group_row': 0, 'row_span': 4, 'directory_bytes': 7, 'group_sizes': [9], 'group_origin': 18, 'address': 23, 'checksum': 25, 'allocation_end': 27}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11}, {'group_count': 2, 'group_id': 0, 'group_row': 2, 'row_span': 14, 'directory_bytes': 14, 'group_sizes': [47, 19], 'group_origin': 25, 'address': 60, 'checksum': 70, 'allocation_end': 91}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11}, {'group_count': 3, 'group_id': 2, 'group_row': 0, 'row_span': 22, 'directory_bytes': 21, 'group_sizes': [71, 71, 49], 'group_origin': 174, 'address': 195, 'checksum': 199, 'allocation_end': 223}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11}, {'group_count': 3, 'group_id': 2, 'group_row': 1, 'row_span': 34, 'directory_bytes': 21, 'group_sizes': [107, 107, 73], 'group_origin': 246, 'address': 315, 'checksum': 317, 'allocation_end': 319}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11}, {'group_count': 4, 'group_id': 2, 'group_row': 2, 'row_span': 38, 'directory_bytes': 28, 'group_sizes': [119, 119, 119, 43], 'group_origin': 277, 'address': 390, 'checksum': 394, 'allocation_end': 439}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11}, {'group_count': 5, 'group_id': 4, 'group_row': 0, 'row_span': 16, 'directory_bytes': 35, 'group_sizes': [53, 53, 53, 53, 21], 'group_origin': 258, 'address': 269, 'checksum': 277, 'allocation_end': 279})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22}, {'group_count': 1, 'group_id': 0, 'group_row': 0, 'row_span': 5, 'directory_bytes': 7, 'group_sizes': [10], 'group_origin': 29, 'address': 34, 'checksum': 37, 'allocation_end': 39}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22}, {'group_count': 2, 'group_id': 0, 'group_row': 2, 'row_span': 23, 'directory_bytes': 14, 'group_sizes': [74, 51], 'group_origin': 36, 'address': 90, 'checksum': 108, 'allocation_end': 161}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22}, {'group_count': 3, 'group_id': 2, 'group_row': 0, 'row_span': 35, 'directory_bytes': 21, 'group_sizes': [110, 110, 110], 'group_origin': 263, 'address': 292, 'checksum': 301, 'allocation_end': 373}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22}, {'group_count': 3, 'group_id': 2, 'group_row': 1, 'row_span': 50, 'directory_bytes': 21, 'group_sizes': [155, 155, 105], 'group_origin': 353, 'address': 453, 'checksum': 456, 'allocation_end': 458}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22}, {'group_count': 4, 'group_id': 2, 'group_row': 2, 'row_span': 59, 'directory_bytes': 28, 'group_sizes': [182, 182, 182, 123], 'group_origin': 414, 'address': 585, 'checksum': 594, 'allocation_end': 719}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22}, {'group_count': 5, 'group_id': 4, 'group_row': 0, 'row_span': 23, 'directory_bytes': 35, 'group_sizes': [74, 74, 74, 74, 28], 'group_origin': 353, 'address': 367, 'checksum': 379, 'allocation_end': 381})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33}, {'group_count': 1, 'group_id': 0, 'group_row': 0, 'row_span': 6, 'directory_bytes': 7, 'group_sizes': [11], 'group_origin': 40, 'address': 45, 'checksum': 49, 'allocation_end': 51}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33}, {'group_count': 2, 'group_id': 0, 'group_row': 2, 'row_span': 34, 'directory_bytes': 14, 'group_sizes': [107, 107], 'group_origin': 47, 'address': 124, 'checksum': 152, 'allocation_end': 261}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33}, {'group_count': 4, 'group_id': 2, 'group_row': 0, 'row_span': 50, 'directory_bytes': 28, 'group_sizes': [155, 155, 155, 55], 'group_origin': 371, 'address': 408, 'checksum': 424, 'allocation_end': 581}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33}, {'group_count': 3, 'group_id': 2, 'group_row': 1, 'row_span': 66, 'directory_bytes': 21, 'group_sizes': [203, 203, 137], 'group_origin': 460, 'address': 591, 'checksum': 595, 'allocation_end': 597}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33}, {'group_count': 4, 'group_id': 2, 'group_row': 2, 'row_span': 82, 'directory_bytes': 28, 'group_sizes': [251, 251, 251, 251], 'group_origin': 563, 'address': 796, 'checksum': 812, 'allocation_end': 1065}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33}, {'group_count': 5, 'group_id': 4, 'group_row': 0, 'row_span': 30, 'directory_bytes': 35, 'group_sizes': [95, 95, 95, 95, 35], 'group_origin': 448, 'address': 465, 'checksum': 481, 'allocation_end': 483})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44}, {'group_count': 1, 'group_id': 0, 'group_row': 0, 'row_span': 7, 'directory_bytes': 7, 'group_sizes': [12], 'group_origin': 51, 'address': 56, 'checksum': 61, 'allocation_end': 63}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44}, {'group_count': 3, 'group_id': 0, 'group_row': 2, 'row_span': 47, 'directory_bytes': 21, 'group_sizes': [146, 146, 52], 'group_origin': 65, 'address': 169, 'checksum': 209, 'allocation_end': 409}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44}, {'group_count': 4, 'group_id': 2, 'group_row': 0, 'row_span': 67, 'directory_bytes': 28, 'group_sizes': [206, 206, 206, 139], 'group_origin': 484, 'address': 529, 'checksum': 554, 'allocation_end': 829}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44}, {'group_count': 3, 'group_id': 2, 'group_row': 1, 'row_span': 82, 'directory_bytes': 21, 'group_sizes': [251, 251, 169], 'group_origin': 567, 'address': 729, 'checksum': 734, 'allocation_end': 736}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44}, {'group_count': 5, 'group_id': 2, 'group_row': 2, 'row_span': 107, 'directory_bytes': 35, 'group_sizes': [326, 326, 326, 326, 112], 'group_origin': 731, 'address': 1030, 'checksum': 1055, 'allocation_end': 1495}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44}, {'group_count': 5, 'group_id': 4, 'group_row': 0, 'row_span': 37, 'directory_bytes': 35, 'group_sizes': [116, 116, 116, 116, 42], 'group_origin': 543, 'address': 563, 'checksum': 583, 'allocation_end': 585})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55}, {'group_count': 1, 'group_id': 0, 'group_row': 0, 'row_span': 8, 'directory_bytes': 7, 'group_sizes': [13], 'group_origin': 62, 'address': 67, 'checksum': 73, 'allocation_end': 75}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55}, {'group_count': 3, 'group_id': 0, 'group_row': 2, 'row_span': 62, 'directory_bytes': 21, 'group_sizes': [191, 191, 129], 'group_origin': 76, 'address': 211, 'checksum': 265, 'allocation_end': 587}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55}, {'group_count': 4, 'group_id': 2, 'group_row': 0, 'row_span': 86, 'directory_bytes': 28, 'group_sizes': [263, 263, 263, 263], 'group_origin': 609, 'address': 662, 'checksum': 698, 'allocation_end': 1135}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55}, {'group_count': 3, 'group_id': 2, 'group_row': 1, 'row_span': 98, 'directory_bytes': 21, 'group_sizes': [299, 299, 201], 'group_origin': 674, 'address': 867, 'checksum': 873, 'allocation_end': 875}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55}, {'group_count': 5, 'group_id': 2, 'group_row': 2, 'row_span': 134, 'directory_bytes': 35, 'group_sizes': [407, 407, 407, 407, 273], 'group_origin': 904, 'address': 1273, 'checksum': 1309, 'allocation_end': 1991}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55}, {'group_count': 5, 'group_id': 4, 'group_row': 0, 'row_span': 44, 'directory_bytes': 35, 'group_sizes': [137, 137, 137, 137, 49], 'group_origin': 638, 'address': 661, 'checksum': 685, 'allocation_end': 687})]}\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":"76214ffa59b7f60203359170181fc144e2a41c964480cedb3f48fb83108e9de3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(p):\n    p = dict(p)\n    group_count = (p[\"h\"]+2)//3\n    group_id = p[\"y\"]//3\n    group_row = p[\"y\"]%3\n    row_span = p[\"w\"]*p[\"b\"]\n    directory_bytes = group_count*7\n    group_sizes = [5+min(3,p[\"h\"]-i*3)*row_span for i in range(group_count)]\n    group_origin = p[\"base\"]+directory_bytes+group_id*(5+3*row_span)\n    address = group_origin+5+group_row*row_span+p[\"x\"]*p[\"b\"]\n    checksum = group_origin+5+group_row*row_span+p[\"w\"]*p[\"b\"]\n    allocation_end = p[\"base\"]+directory_bytes+sum(group_sizes)\n    return {'group_count': group_count, 'group_id': group_id, 'group_row': group_row, 'row_span': row_span, 'directory_bytes': directory_bytes, 'group_sizes': group_sizes, 'group_origin': group_origin, 'address': address, 'checksum': checksum, 'allocation_end': allocation_end}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11}, {'group_count': 1, 'group_id': 0, 'group_row': 0, 'row_span': 4, 'directory_bytes': 7, 'group_sizes': [9], 'group_origin': 18, 'address': 23, 'checksum': 25, 'allocation_end': 27}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11}, {'group_count': 2, 'group_id': 0, 'group_row': 2, 'row_span': 14, 'directory_bytes': 14, 'group_sizes': [47, 19], 'group_origin': 25, 'address': 60, 'checksum': 70, 'allocation_end': 91}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11}, {'group_count': 3, 'group_id': 2, 'group_row': 0, 'row_span': 22, 'directory_bytes': 21, 'group_sizes': [71, 71, 49], 'group_origin': 174, 'address': 195, 'checksum': 199, 'allocation_end': 223}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11}, {'group_count': 3, 'group_id': 2, 'group_row': 1, 'row_span': 34, 'directory_bytes': 21, 'group_sizes': [107, 107, 73], 'group_origin': 246, 'address': 315, 'checksum': 317, 'allocation_end': 319}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11}, {'group_count': 4, 'group_id': 2, 'group_row': 2, 'row_span': 38, 'directory_bytes': 28, 'group_sizes': [119, 119, 119, 43], 'group_origin': 277, 'address': 390, 'checksum': 394, 'allocation_end': 439}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11}, {'group_count': 5, 'group_id': 4, 'group_row': 0, 'row_span': 16, 'directory_bytes': 35, 'group_sizes': [53, 53, 53, 53, 21], 'group_origin': 258, 'address': 269, 'checksum': 277, 'allocation_end': 279})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22}, {'group_count': 1, 'group_id': 0, 'group_row': 0, 'row_span': 5, 'directory_bytes': 7, 'group_sizes': [10], 'group_origin': 29, 'address': 34, 'checksum': 37, 'allocation_end': 39}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22}, {'group_count': 2, 'group_id': 0, 'group_row': 2, 'row_span': 23, 'directory_bytes': 14, 'group_sizes': [74, 51], 'group_origin': 36, 'address': 90, 'checksum': 108, 'allocation_end': 161}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22}, {'group_count': 3, 'group_id': 2, 'group_row': 0, 'row_span': 35, 'directory_bytes': 21, 'group_sizes': [110, 110, 110], 'group_origin': 263, 'address': 292, 'checksum': 301, 'allocation_end': 373}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22}, {'group_count': 3, 'group_id': 2, 'group_row': 1, 'row_span': 50, 'directory_bytes': 21, 'group_sizes': [155, 155, 105], 'group_origin': 353, 'address': 453, 'checksum': 456, 'allocation_end': 458}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22}, {'group_count': 4, 'group_id': 2, 'group_row': 2, 'row_span': 59, 'directory_bytes': 28, 'group_sizes': [182, 182, 182, 123], 'group_origin': 414, 'address': 585, 'checksum': 594, 'allocation_end': 719}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22}, {'group_count': 5, 'group_id': 4, 'group_row': 0, 'row_span': 23, 'directory_bytes': 35, 'group_sizes': [74, 74, 74, 74, 28], 'group_origin': 353, 'address': 367, 'checksum': 379, 'allocation_end': 381})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33}, {'group_count': 1, 'group_id': 0, 'group_row': 0, 'row_span': 6, 'directory_bytes': 7, 'group_sizes': [11], 'group_origin': 40, 'address': 45, 'checksum': 49, 'allocation_end': 51}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33}, {'group_count': 2, 'group_id': 0, 'group_row': 2, 'row_span': 34, 'directory_bytes': 14, 'group_sizes': [107, 107], 'group_origin': 47, 'address': 124, 'checksum': 152, 'allocation_end': 261}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33}, {'group_count': 4, 'group_id': 2, 'group_row': 0, 'row_span': 50, 'directory_bytes': 28, 'group_sizes': [155, 155, 155, 55], 'group_origin': 371, 'address': 408, 'checksum': 424, 'allocation_end': 581}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33}, {'group_count': 3, 'group_id': 2, 'group_row': 1, 'row_span': 66, 'directory_bytes': 21, 'group_sizes': [203, 203, 137], 'group_origin': 460, 'address': 591, 'checksum': 595, 'allocation_end': 597}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33}, {'group_count': 4, 'group_id': 2, 'group_row': 2, 'row_span': 82, 'directory_bytes': 28, 'group_sizes': [251, 251, 251, 251], 'group_origin': 563, 'address': 796, 'checksum': 812, 'allocation_end': 1065}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33}, {'group_count': 5, 'group_id': 4, 'group_row': 0, 'row_span': 30, 'directory_bytes': 35, 'group_sizes': [95, 95, 95, 95, 35], 'group_origin': 448, 'address': 465, 'checksum': 481, 'allocation_end': 483})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44}, {'group_count': 1, 'group_id': 0, 'group_row': 0, 'row_span': 7, 'directory_bytes': 7, 'group_sizes': [12], 'group_origin': 51, 'address': 56, 'checksum': 61, 'allocation_end': 63}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44}, {'group_count': 3, 'group_id': 0, 'group_row': 2, 'row_span': 47, 'directory_bytes': 21, 'group_sizes': [146, 146, 52], 'group_origin': 65, 'address': 169, 'checksum': 209, 'allocation_end': 409}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44}, {'group_count': 4, 'group_id': 2, 'group_row': 0, 'row_span': 67, 'directory_bytes': 28, 'group_sizes': [206, 206, 206, 139], 'group_origin': 484, 'address': 529, 'checksum': 554, 'allocation_end': 829}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44}, {'group_count': 3, 'group_id': 2, 'group_row': 1, 'row_span': 82, 'directory_bytes': 21, 'group_sizes': [251, 251, 169], 'group_origin': 567, 'address': 729, 'checksum': 734, 'allocation_end': 736}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44}, {'group_count': 5, 'group_id': 2, 'group_row': 2, 'row_span': 107, 'directory_bytes': 35, 'group_sizes': [326, 326, 326, 326, 112], 'group_origin': 731, 'address': 1030, 'checksum': 1055, 'allocation_end': 1495}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44}, {'group_count': 5, 'group_id': 4, 'group_row': 0, 'row_span': 37, 'directory_bytes': 35, 'group_sizes': [116, 116, 116, 116, 42], 'group_origin': 543, 'address': 563, 'checksum': 583, 'allocation_end': 585})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55}, {'group_count': 1, 'group_id': 0, 'group_row': 0, 'row_span': 8, 'directory_bytes': 7, 'group_sizes': [13], 'group_origin': 62, 'address': 67, 'checksum': 73, 'allocation_end': 75}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55}, {'group_count': 3, 'group_id': 0, 'group_row': 2, 'row_span': 62, 'directory_bytes': 21, 'group_sizes': [191, 191, 129], 'group_origin': 76, 'address': 211, 'checksum': 265, 'allocation_end': 587}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55}, {'group_count': 4, 'group_id': 2, 'group_row': 0, 'row_span': 86, 'directory_bytes': 28, 'group_sizes': [263, 263, 263, 263], 'group_origin': 609, 'address': 662, 'checksum': 698, 'allocation_end': 1135}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55}, {'group_count': 3, 'group_id': 2, 'group_row': 1, 'row_span': 98, 'directory_bytes': 21, 'group_sizes': [299, 299, 201], 'group_origin': 674, 'address': 867, 'checksum': 873, 'allocation_end': 875}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55}, {'group_count': 5, 'group_id': 2, 'group_row': 2, 'row_span': 134, 'directory_bytes': 35, 'group_sizes': [407, 407, 407, 407, 273], 'group_origin': 904, 'address': 1273, 'checksum': 1309, 'allocation_end': 1991}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55}, {'group_count': 5, 'group_id': 4, 'group_row': 0, 'row_span': 44, 'directory_bytes': 35, 'group_sizes': [137, 137, 137, 137, 49], 'group_origin': 638, 'address': 661, 'checksum': 685, 'allocation_end': 687})]}\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":"c8aab124efa02febec091752c5872362a2ccb2faa84a9e2944b4b78a4656c9ce","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(p):\n    p = dict(p)\n    group_count = (p[\"h\"]+2)//3\n    group_id = p[\"y\"]//3\n    group_row = p[\"y\"]%3\n    row_span = p[\"w\"]*p[\"b\"]+2\n    directory_bytes = group_count*7\n    group_sizes = [5+min(3,p[\"h\"]-i*3)*row_span for i in range(group_count)]\n    group_origin = p[\"base\"]+directory_bytes+group_id*(5+3*row_span)\n    address = group_origin+5+group_row*row_span+p[\"x\"]*p[\"b\"]\n    checksum = group_origin+5+group_row*row_span+p[\"w\"]*p[\"b\"]\n    allocation_end = p[\"base\"]+directory_bytes+sum(group_sizes)\n    return {'group_count': group_count, 'group_id': group_id, 'group_row': group_row, 'row_span': row_span, 'directory_bytes': directory_bytes, 'group_sizes': group_sizes, 'group_origin': group_origin, 'address': address, 'checksum': checksum, 'allocation_end': allocation_end}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11}, {'group_count': 1, 'group_id': 0, 'group_row': 0, 'row_span': 4, 'directory_bytes': 7, 'group_sizes': [9], 'group_origin': 18, 'address': 23, 'checksum': 25, 'allocation_end': 27}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11}, {'group_count': 2, 'group_id': 0, 'group_row': 2, 'row_span': 14, 'directory_bytes': 14, 'group_sizes': [47, 19], 'group_origin': 25, 'address': 60, 'checksum': 70, 'allocation_end': 91}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11}, {'group_count': 3, 'group_id': 2, 'group_row': 0, 'row_span': 22, 'directory_bytes': 21, 'group_sizes': [71, 71, 49], 'group_origin': 174, 'address': 195, 'checksum': 199, 'allocation_end': 223}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11}, {'group_count': 3, 'group_id': 2, 'group_row': 1, 'row_span': 34, 'directory_bytes': 21, 'group_sizes': [107, 107, 73], 'group_origin': 246, 'address': 315, 'checksum': 317, 'allocation_end': 319}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11}, {'group_count': 4, 'group_id': 2, 'group_row': 2, 'row_span': 38, 'directory_bytes': 28, 'group_sizes': [119, 119, 119, 43], 'group_origin': 277, 'address': 390, 'checksum': 394, 'allocation_end': 439}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11}, {'group_count': 5, 'group_id': 4, 'group_row': 0, 'row_span': 16, 'directory_bytes': 35, 'group_sizes': [53, 53, 53, 53, 21], 'group_origin': 258, 'address': 269, 'checksum': 277, 'allocation_end': 279})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22}, {'group_count': 1, 'group_id': 0, 'group_row': 0, 'row_span': 5, 'directory_bytes': 7, 'group_sizes': [10], 'group_origin': 29, 'address': 34, 'checksum': 37, 'allocation_end': 39}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22}, {'group_count': 2, 'group_id': 0, 'group_row': 2, 'row_span': 23, 'directory_bytes': 14, 'group_sizes': [74, 51], 'group_origin': 36, 'address': 90, 'checksum': 108, 'allocation_end': 161}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22}, {'group_count': 3, 'group_id': 2, 'group_row': 0, 'row_span': 35, 'directory_bytes': 21, 'group_sizes': [110, 110, 110], 'group_origin': 263, 'address': 292, 'checksum': 301, 'allocation_end': 373}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22}, {'group_count': 3, 'group_id': 2, 'group_row': 1, 'row_span': 50, 'directory_bytes': 21, 'group_sizes': [155, 155, 105], 'group_origin': 353, 'address': 453, 'checksum': 456, 'allocation_end': 458}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22}, {'group_count': 4, 'group_id': 2, 'group_row': 2, 'row_span': 59, 'directory_bytes': 28, 'group_sizes': [182, 182, 182, 123], 'group_origin': 414, 'address': 585, 'checksum': 594, 'allocation_end': 719}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22}, {'group_count': 5, 'group_id': 4, 'group_row': 0, 'row_span': 23, 'directory_bytes': 35, 'group_sizes': [74, 74, 74, 74, 28], 'group_origin': 353, 'address': 367, 'checksum': 379, 'allocation_end': 381})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33}, {'group_count': 1, 'group_id': 0, 'group_row': 0, 'row_span': 6, 'directory_bytes': 7, 'group_sizes': [11], 'group_origin': 40, 'address': 45, 'checksum': 49, 'allocation_end': 51}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33}, {'group_count': 2, 'group_id': 0, 'group_row': 2, 'row_span': 34, 'directory_bytes': 14, 'group_sizes': [107, 107], 'group_origin': 47, 'address': 124, 'checksum': 152, 'allocation_end': 261}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33}, {'group_count': 4, 'group_id': 2, 'group_row': 0, 'row_span': 50, 'directory_bytes': 28, 'group_sizes': [155, 155, 155, 55], 'group_origin': 371, 'address': 408, 'checksum': 424, 'allocation_end': 581}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33}, {'group_count': 3, 'group_id': 2, 'group_row': 1, 'row_span': 66, 'directory_bytes': 21, 'group_sizes': [203, 203, 137], 'group_origin': 460, 'address': 591, 'checksum': 595, 'allocation_end': 597}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33}, {'group_count': 4, 'group_id': 2, 'group_row': 2, 'row_span': 82, 'directory_bytes': 28, 'group_sizes': [251, 251, 251, 251], 'group_origin': 563, 'address': 796, 'checksum': 812, 'allocation_end': 1065}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33}, {'group_count': 5, 'group_id': 4, 'group_row': 0, 'row_span': 30, 'directory_bytes': 35, 'group_sizes': [95, 95, 95, 95, 35], 'group_origin': 448, 'address': 465, 'checksum': 481, 'allocation_end': 483})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44}, {'group_count': 1, 'group_id': 0, 'group_row': 0, 'row_span': 7, 'directory_bytes': 7, 'group_sizes': [12], 'group_origin': 51, 'address': 56, 'checksum': 61, 'allocation_end': 63}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44}, {'group_count': 3, 'group_id': 0, 'group_row': 2, 'row_span': 47, 'directory_bytes': 21, 'group_sizes': [146, 146, 52], 'group_origin': 65, 'address': 169, 'checksum': 209, 'allocation_end': 409}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44}, {'group_count': 4, 'group_id': 2, 'group_row': 0, 'row_span': 67, 'directory_bytes': 28, 'group_sizes': [206, 206, 206, 139], 'group_origin': 484, 'address': 529, 'checksum': 554, 'allocation_end': 829}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44}, {'group_count': 3, 'group_id': 2, 'group_row': 1, 'row_span': 82, 'directory_bytes': 21, 'group_sizes': [251, 251, 169], 'group_origin': 567, 'address': 729, 'checksum': 734, 'allocation_end': 736}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44}, {'group_count': 5, 'group_id': 2, 'group_row': 2, 'row_span': 107, 'directory_bytes': 35, 'group_sizes': [326, 326, 326, 326, 112], 'group_origin': 731, 'address': 1030, 'checksum': 1055, 'allocation_end': 1495}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44}, {'group_count': 5, 'group_id': 4, 'group_row': 0, 'row_span': 37, 'directory_bytes': 35, 'group_sizes': [116, 116, 116, 116, 42], 'group_origin': 543, 'address': 563, 'checksum': 583, 'allocation_end': 585})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55}, {'group_count': 1, 'group_id': 0, 'group_row': 0, 'row_span': 8, 'directory_bytes': 7, 'group_sizes': [13], 'group_origin': 62, 'address': 67, 'checksum': 73, 'allocation_end': 75}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55}, {'group_count': 3, 'group_id': 0, 'group_row': 2, 'row_span': 62, 'directory_bytes': 21, 'group_sizes': [191, 191, 129], 'group_origin': 76, 'address': 211, 'checksum': 265, 'allocation_end': 587}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55}, {'group_count': 4, 'group_id': 2, 'group_row': 0, 'row_span': 86, 'directory_bytes': 28, 'group_sizes': [263, 263, 263, 263], 'group_origin': 609, 'address': 662, 'checksum': 698, 'allocation_end': 1135}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55}, {'group_count': 3, 'group_id': 2, 'group_row': 1, 'row_span': 98, 'directory_bytes': 21, 'group_sizes': [299, 299, 201], 'group_origin': 674, 'address': 867, 'checksum': 873, 'allocation_end': 875}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55}, {'group_count': 5, 'group_id': 2, 'group_row': 2, 'row_span': 134, 'directory_bytes': 35, 'group_sizes': [407, 407, 407, 407, 273], 'group_origin': 904, 'address': 1273, 'checksum': 1309, 'allocation_end': 1991}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55}, {'group_count': 5, 'group_id': 4, 'group_row': 0, 'row_span': 44, 'directory_bytes': 35, 'group_sizes': [137, 137, 137, 137, 49], 'group_origin': 638, 'address': 661, 'checksum': 685, 'allocation_end': 687})]}\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-chunked-row-groups-row-span","generated_at":"2026-09-29T14:45:32.659599+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 row_span: p[\"w\"]*p[\"b\"]+2.","root_cause":"Per-scanline checksum omitted or charged for every pixel The faulty expression is p[\"w\"]*p[\"b\"].","sha256":"8c8c3c1649e6b256dd5f2744a7890780062df99e0b7acfbcb01e6da318fcb9ad","title":"Chunked Row Groups: Per-scanline checksum omitted or charged for every pixel · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.082,"exit_code":1,"observations":[{"actual":{"address":23,"allocation_end":27,"checksum":25,"directory_bytes":7,"group_count":1,"group_id":0,"group_origin":18,"group_row":0,"group_sizes":[9],"row_span":4},"check":"layout fixture 1","expected":{"address":23,"allocation_end":27,"checksum":25,"directory_bytes":7,"group_count":1,"group_id":0,"group_origin":18,"group_row":0,"group_sizes":[9],"row_span":4},"passed":true},{"actual":{"address":80,"allocation_end":131,"checksum":90,"directory_bytes":14,"group_count":2,"group_id":0,"group_origin":25,"group_row":2,"group_sizes":[77,29],"row_span":24},"check":"layout fixture 2","expected":{"address":60,"allocation_end":91,"checksum":70,"directory_bytes":14,"group_count":2,"group_id":0,"group_origin":25,"group_row":2,"group_sizes":[47,19],"row_span":14},"passed":false},{"actual":{"address":303,"allocation_end":367,"checksum":307,"directory_bytes":21,"group_count":3,"group_id":2,"group_origin":282,"group_row":0,"group_sizes":[125,125,85],"row_span":40},"check":"layout fixture 3","expected":{"address":195,"allocation_end":223,"checksum":199,"directory_bytes":21,"group_count":3,"group_id":2,"group_origin":174,"group_row":0,"group_sizes":[71,71,49],"row_span":22},"passed":false},{"actual":{"address":525,"allocation_end":559,"checksum":527,"directory_bytes":21,"group_count":3,"group_id":2,"group_origin":426,"group_row":1,"group_sizes":[197,197,133],"row_span":64},"check":"layout fixture 4","expected":{"address":315,"allocation_end":319,"checksum":317,"directory_bytes":21,"group_count":3,"group_id":2,"group_origin":246,"group_row":1,"group_sizes":[107,107,73],"row_span":34},"passed":false},{"actual":{"address":662,"allocation_end":779,"checksum":666,"directory_bytes":28,"group_count":4,"group_id":2,"group_origin":481,"group_row":2,"group_sizes":[221,221,221,77],"row_span":72},"check":"layout fixture 5","expected":{"address":390,"allocation_end":439,"checksum":394,"directory_bytes":28,"group_count":4,"group_id":2,"group_origin":277,"group_row":2,"group_sizes":[119,119,119,43],"row_span":38},"passed":false},{"actual":{"address":413,"allocation_end":435,"checksum":421,"directory_bytes":35,"group_count":5,"group_id":4,"group_origin":402,"group_row":0,"group_sizes":[89,89,89,89,33],"row_span":28},"check":"layout fixture 6","expected":{"address":269,"allocation_end":279,"checksum":277,"directory_bytes":35,"group_count":5,"group_id":4,"group_origin":258,"group_row":0,"group_sizes":[53,53,53,53,21],"row_span":16},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"layout fixture 1\", \"actual\": {\"group_count\": 1, \"group_id\": 0, \"group_row\": 0, \"row_span\": 4, \"directory_bytes\": 7, \"group_sizes\": [9], \"group_origin\": 18, \"address\": 23, \"checksum\": 25, \"allocation_end\": 27}, \"expected\": {\"group_count\": 1, \"group_id\": 0, \"group_row\": 0, \"row_span\": 4, \"directory_bytes\": 7, \"group_sizes\": [9], \"group_origin\": 18, \"address\": 23, \"checksum\": 25, \"allocation_end\": 27}, \"passed\": true}, {\"check\": \"layout fixture 2\", \"actual\": {\"group_count\": 2, \"group_id\": 0, \"group_row\": 2, \"row_span\": 24, \"directory_bytes\": 14, \"group_sizes\": [77, 29], \"group_origin\": 25, \"address\": 80, \"checksum\": 90, \"allocation_end\": 131}, \"expected\": {\"group_count\": 2, \"group_id\": 0, \"group_row\": 2, \"row_span\": 14, \"directory_bytes\": 14, \"group_sizes\": [47, 19], \"group_origin\": 25, \"address\": 60, \"checksum\": 70, \"allocation_end\": 91}, \"passed\": false}, {\"check\": \"layout fixture 3\", \"actual\": {\"group_count\": 3, \"group_id\": 2, \"group_row\": 0, \"row_span\": 40, \"directory_bytes\": 21, \"group_sizes\": [125, 125, 85], \"group_origin\": 282, \"address\": 303, \"checksum\": 307, \"allocation_end\": 367}, \"expected\": {\"group_count\": 3, \"group_id\": 2, \"group_row\": 0, \"row_span\": 22, \"directory_bytes\": 21, \"group_sizes\": [71, 71, 49], \"group_origin\": 174, \"address\": 195, \"checksum\": 199, \"allocation_end\": 223}, \"passed\": false}, {\"check\": \"layout fixture 4\", \"actual\": {\"group_count\": 3, \"group_id\": 2, \"group_row\": 1, \"row_span\": 64, \"directory_bytes\": 21, \"group_sizes\": [197, 197, 133], \"group_origin\": 426, \"address\": 525, \"checksum\": 527, \"allocation_end\": 559}, \"expected\": {\"group_count\": 3, \"group_id\": 2, \"group_row\": 1, \"row_span\": 34, \"directory_bytes\": 21, \"group_sizes\": [107, 107, 73], \"group_origin\": 246, \"address\": 315, \"checksum\": 317, \"allocation_end\": 319}, \"passed\": false}, {\"check\": \"layout fixture 5\", \"actual\": {\"group_count\": 4, \"group_id\": 2, \"group_row\": 2, \"row_span\": 72, \"directory_bytes\": 28, \"group_sizes\": [221, 221, 221, 77], \"group_origin\": 481, \"address\": 662, \"checksum\": 666, \"allocation_end\": 779}, \"expected\": {\"group_count\": 4, \"group_id\": 2, \"group_row\": 2, \"row_span\": 38, \"directory_bytes\": 28, \"group_sizes\": [119, 119, 119, 43], \"group_origin\": 277, \"address\": 390, \"checksum\": 394, \"allocation_end\": 439}, \"passed\": false}, {\"check\": \"layout fixture 6\", \"actual\": {\"group_count\": 5, \"group_id\": 4, \"group_row\": 0, \"row_span\": 28, \"directory_bytes\": 35, \"group_sizes\": [89, 89, 89, 89, 33], \"group_origin\": 402, \"address\": 413, \"checksum\": 421, \"allocation_end\": 435}, \"expected\": {\"group_count\": 5, \"group_id\": 4, \"group_row\": 0, \"row_span\": 16, \"directory_bytes\": 35, \"group_sizes\": [53, 53, 53, 53, 21], \"group_origin\": 258, \"address\": 269, \"checksum\": 277, \"allocation_end\": 279}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":45.275,"exit_code":1,"observations":[{"actual":{"address":23,"allocation_end":25,"checksum":25,"directory_bytes":7,"group_count":1,"group_id":0,"group_origin":18,"group_row":0,"group_sizes":[7],"row_span":2},"check":"layout fixture 1","expected":{"address":23,"allocation_end":27,"checksum":25,"directory_bytes":7,"group_count":1,"group_id":0,"group_origin":18,"group_row":0,"group_sizes":[9],"row_span":4},"passed":false},{"actual":{"address":56,"allocation_end":83,"checksum":66,"directory_bytes":14,"group_count":2,"group_id":0,"group_origin":25,"group_row":2,"group_sizes":[41,17],"row_span":12},"check":"layout fixture 2","expected":{"address":60,"allocation_end":91,"checksum":70,"directory_bytes":14,"group_count":2,"group_id":0,"group_origin":25,"group_row":2,"group_sizes":[47,19],"row_span":14},"passed":false},{"actual":{"address":183,"allocation_end":207,"checksum":187,"directory_bytes":21,"group_count":3,"group_id":2,"group_origin":162,"group_row":0,"group_sizes":[65,65,45],"row_span":20},"check":"layout fixture 3","expected":{"address":195,"allocation_end":223,"checksum":199,"directory_bytes":21,"group_count":3,"group_id":2,"group_origin":174,"group_row":0,"group_sizes":[71,71,49],"row_span":22},"passed":false},{"actual":{"address":301,"allocation_end":303,"checksum":303,"directory_bytes":21,"group_count":3,"group_id":2,"group_origin":234,"group_row":1,"group_sizes":[101,101,69],"row_span":32},"check":"layout fixture 4","expected":{"address":315,"allocation_end":319,"checksum":317,"directory_bytes":21,"group_count":3,"group_id":2,"group_origin":246,"group_row":1,"group_sizes":[107,107,73],"row_span":34},"passed":false},{"actual":{"address":374,"allocation_end":419,"checksum":378,"directory_bytes":28,"group_count":4,"group_id":2,"group_origin":265,"group_row":2,"group_sizes":[113,113,113,41],"row_span":36},"check":"layout fixture 5","expected":{"address":390,"allocation_end":439,"checksum":394,"directory_bytes":28,"group_count":4,"group_id":2,"group_origin":277,"group_row":2,"group_sizes":[119,119,119,43],"row_span":38},"passed":false},{"actual":{"address":245,"allocation_end":253,"checksum":253,"directory_bytes":35,"group_count":5,"group_id":4,"group_origin":234,"group_row":0,"group_sizes":[47,47,47,47,19],"row_span":14},"check":"layout fixture 6","expected":{"address":269,"allocation_end":279,"checksum":277,"directory_bytes":35,"group_count":5,"group_id":4,"group_origin":258,"group_row":0,"group_sizes":[53,53,53,53,21],"row_span":16},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"layout fixture 1\", \"actual\": {\"group_count\": 1, \"group_id\": 0, \"group_row\": 0, \"row_span\": 2, \"directory_bytes\": 7, \"group_sizes\": [7], \"group_origin\": 18, \"address\": 23, \"checksum\": 25, \"allocation_end\": 25}, \"expected\": {\"group_count\": 1, \"group_id\": 0, \"group_row\": 0, \"row_span\": 4, \"directory_bytes\": 7, \"group_sizes\": [9], \"group_origin\": 18, \"address\": 23, \"checksum\": 25, \"allocation_end\": 27}, \"passed\": false}, {\"check\": \"layout fixture 2\", \"actual\": {\"group_count\": 2, \"group_id\": 0, \"group_row\": 2, \"row_span\": 12, \"directory_bytes\": 14, \"group_sizes\": [41, 17], \"group_origin\": 25, \"address\": 56, \"checksum\": 66, \"allocation_end\": 83}, \"expected\": {\"group_count\": 2, \"group_id\": 0, \"group_row\": 2, \"row_span\": 14, \"directory_bytes\": 14, \"group_sizes\": [47, 19], \"group_origin\": 25, \"address\": 60, \"checksum\": 70, \"allocation_end\": 91}, \"passed\": false}, {\"check\": \"layout fixture 3\", \"actual\": {\"group_count\": 3, \"group_id\": 2, \"group_row\": 0, \"row_span\": 20, \"directory_bytes\": 21, \"group_sizes\": [65, 65, 45], \"group_origin\": 162, \"address\": 183, \"checksum\": 187, \"allocation_end\": 207}, \"expected\": {\"group_count\": 3, \"group_id\": 2, \"group_row\": 0, \"row_span\": 22, \"directory_bytes\": 21, \"group_sizes\": [71, 71, 49], \"group_origin\": 174, \"address\": 195, \"checksum\": 199, \"allocation_end\": 223}, \"passed\": false}, {\"check\": \"layout fixture 4\", \"actual\": {\"group_count\": 3, \"group_id\": 2, \"group_row\": 1, \"row_span\": 32, \"directory_bytes\": 21, \"group_sizes\": [101, 101, 69], \"group_origin\": 234, \"address\": 301, \"checksum\": 303, \"allocation_end\": 303}, \"expected\": {\"group_count\": 3, \"group_id\": 2, \"group_row\": 1, \"row_span\": 34, \"directory_bytes\": 21, \"group_sizes\": [107, 107, 73], \"group_origin\": 246, \"address\": 315, \"checksum\": 317, \"allocation_end\": 319}, \"passed\": false}, {\"check\": \"layout fixture 5\", \"actual\": {\"group_count\": 4, \"group_id\": 2, \"group_row\": 2, \"row_span\": 36, \"directory_bytes\": 28, \"group_sizes\": [113, 113, 113, 41], \"group_origin\": 265, \"address\": 374, \"checksum\": 378, \"allocation_end\": 419}, \"expected\": {\"group_count\": 4, \"group_id\": 2, \"group_row\": 2, \"row_span\": 38, \"directory_bytes\": 28, \"group_sizes\": [119, 119, 119, 43], \"group_origin\": 277, \"address\": 390, \"checksum\": 394, \"allocation_end\": 439}, \"passed\": false}, {\"check\": \"layout fixture 6\", \"actual\": {\"group_count\": 5, \"group_id\": 4, \"group_row\": 0, \"row_span\": 14, \"directory_bytes\": 35, \"group_sizes\": [47, 47, 47, 47, 19], \"group_origin\": 234, \"address\": 245, \"checksum\": 253, \"allocation_end\": 253}, \"expected\": {\"group_count\": 5, \"group_id\": 4, \"group_row\": 0, \"row_span\": 16, \"directory_bytes\": 35, \"group_sizes\": [53, 53, 53, 53, 21], \"group_origin\": 258, \"address\": 269, \"checksum\": 277, \"allocation_end\": 279}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.827,"exit_code":0,"observations":[{"actual":{"address":23,"allocation_end":27,"checksum":25,"directory_bytes":7,"group_count":1,"group_id":0,"group_origin":18,"group_row":0,"group_sizes":[9],"row_span":4},"check":"layout fixture 1","expected":{"address":23,"allocation_end":27,"checksum":25,"directory_bytes":7,"group_count":1,"group_id":0,"group_origin":18,"group_row":0,"group_sizes":[9],"row_span":4},"passed":true},{"actual":{"address":60,"allocation_end":91,"checksum":70,"directory_bytes":14,"group_count":2,"group_id":0,"group_origin":25,"group_row":2,"group_sizes":[47,19],"row_span":14},"check":"layout fixture 2","expected":{"address":60,"allocation_end":91,"checksum":70,"directory_bytes":14,"group_count":2,"group_id":0,"group_origin":25,"group_row":2,"group_sizes":[47,19],"row_span":14},"passed":true},{"actual":{"address":195,"allocation_end":223,"checksum":199,"directory_bytes":21,"group_count":3,"group_id":2,"group_origin":174,"group_row":0,"group_sizes":[71,71,49],"row_span":22},"check":"layout fixture 3","expected":{"address":195,"allocation_end":223,"checksum":199,"directory_bytes":21,"group_count":3,"group_id":2,"group_origin":174,"group_row":0,"group_sizes":[71,71,49],"row_span":22},"passed":true},{"actual":{"address":315,"allocation_end":319,"checksum":317,"directory_bytes":21,"group_count":3,"group_id":2,"group_origin":246,"group_row":1,"group_sizes":[107,107,73],"row_span":34},"check":"layout fixture 4","expected":{"address":315,"allocation_end":319,"checksum":317,"directory_bytes":21,"group_count":3,"group_id":2,"group_origin":246,"group_row":1,"group_sizes":[107,107,73],"row_span":34},"passed":true},{"actual":{"address":390,"allocation_end":439,"checksum":394,"directory_bytes":28,"group_count":4,"group_id":2,"group_origin":277,"group_row":2,"group_sizes":[119,119,119,43],"row_span":38},"check":"layout fixture 5","expected":{"address":390,"allocation_end":439,"checksum":394,"directory_bytes":28,"group_count":4,"group_id":2,"group_origin":277,"group_row":2,"group_sizes":[119,119,119,43],"row_span":38},"passed":true},{"actual":{"address":269,"allocation_end":279,"checksum":277,"directory_bytes":35,"group_count":5,"group_id":4,"group_origin":258,"group_row":0,"group_sizes":[53,53,53,53,21],"row_span":16},"check":"layout fixture 6","expected":{"address":269,"allocation_end":279,"checksum":277,"directory_bytes":35,"group_count":5,"group_id":4,"group_origin":258,"group_row":0,"group_sizes":[53,53,53,53,21],"row_span":16},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"layout fixture 1\", \"actual\": {\"group_count\": 1, \"group_id\": 0, \"group_row\": 0, \"row_span\": 4, \"directory_bytes\": 7, \"group_sizes\": [9], \"group_origin\": 18, \"address\": 23, \"checksum\": 25, \"allocation_end\": 27}, \"expected\": {\"group_count\": 1, \"group_id\": 0, \"group_row\": 0, \"row_span\": 4, \"directory_bytes\": 7, \"group_sizes\": [9], \"group_origin\": 18, \"address\": 23, \"checksum\": 25, \"allocation_end\": 27}, \"passed\": true}, {\"check\": \"layout fixture 2\", \"actual\": {\"group_count\": 2, \"group_id\": 0, \"group_row\": 2, \"row_span\": 14, \"directory_bytes\": 14, \"group_sizes\": [47, 19], \"group_origin\": 25, \"address\": 60, \"checksum\": 70, \"allocation_end\": 91}, \"expected\": {\"group_count\": 2, \"group_id\": 0, \"group_row\": 2, \"row_span\": 14, \"directory_bytes\": 14, \"group_sizes\": [47, 19], \"group_origin\": 25, \"address\": 60, \"checksum\": 70, \"allocation_end\": 91}, \"passed\": true}, {\"check\": \"layout fixture 3\", \"actual\": {\"group_count\": 3, \"group_id\": 2, \"group_row\": 0, \"row_span\": 22, \"directory_bytes\": 21, \"group_sizes\": [71, 71, 49], \"group_origin\": 174, \"address\": 195, \"checksum\": 199, \"allocation_end\": 223}, \"expected\": {\"group_count\": 3, \"group_id\": 2, \"group_row\": 0, \"row_span\": 22, \"directory_bytes\": 21, \"group_sizes\": [71, 71, 49], \"group_origin\": 174, \"address\": 195, \"checksum\": 199, \"allocation_end\": 223}, \"passed\": true}, {\"check\": \"layout fixture 4\", \"actual\": {\"group_count\": 3, \"group_id\": 2, \"group_row\": 1, \"row_span\": 34, \"directory_bytes\": 21, \"group_sizes\": [107, 107, 73], \"group_origin\": 246, \"address\": 315, \"checksum\": 317, \"allocation_end\": 319}, \"expected\": {\"group_count\": 3, \"group_id\": 2, \"group_row\": 1, \"row_span\": 34, \"directory_bytes\": 21, \"group_sizes\": [107, 107, 73], \"group_origin\": 246, \"address\": 315, \"checksum\": 317, \"allocation_end\": 319}, \"passed\": true}, {\"check\": \"layout fixture 5\", \"actual\": {\"group_count\": 4, \"group_id\": 2, \"group_row\": 2, \"row_span\": 38, \"directory_bytes\": 28, \"group_sizes\": [119, 119, 119, 43], \"group_origin\": 277, \"address\": 390, \"checksum\": 394, \"allocation_end\": 439}, \"expected\": {\"group_count\": 4, \"group_id\": 2, \"group_row\": 2, \"row_span\": 38, \"directory_bytes\": 28, \"group_sizes\": [119, 119, 119, 43], \"group_origin\": 277, \"address\": 390, \"checksum\": 394, \"allocation_end\": 439}, \"passed\": true}, {\"check\": \"layout fixture 6\", \"actual\": {\"group_count\": 5, \"group_id\": 4, \"group_row\": 0, \"row_span\": 16, \"directory_bytes\": 35, \"group_sizes\": [53, 53, 53, 53, 21], \"group_origin\": 258, \"address\": 269, \"checksum\": 277, \"allocation_end\": 279}, \"expected\": {\"group_count\": 5, \"group_id\": 4, \"group_row\": 0, \"row_span\": 16, \"directory_bytes\": 35, \"group_sizes\": [53, 53, 53, 53, 21], \"group_origin\": 258, \"address\": 269, \"checksum\": 277, \"allocation_end\": 279}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}