{"abstract":"The returned physical layout descriptor disagrees with the declared buffer mapping at group_count.","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.","contract_signature":"p","evaluation_group":"s3-raster-memory-layout-chunked-row-groups","failed_approach":"The attempted repair uses p[\"h\"] and still violates the layout contract.","family":"s3-raster-memory-layout-chunked-row-groups-group-count","id":"FA-52791","implementations":{"attempt":{"sha256":"a5b1a7af977a12d119fbd40e93ce65bd7f141ad24d701263152636c6388859ea","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\"]\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":"bde39c6f0d7e9c5e55ba6d9a4e318fbd7267c3ae932b0722483e9d621a60ed18","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\"]//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-group-count","generated_at":"2026-09-29T14:45:32.945602+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.","root_cause":"Row group count truncates final packet or counts each scanline The faulty expression is p[\"h\"]//3.","sha256":"fc2bbe8d54b97b922fed9626ea5302b527d90adba236941b9b0c5e6950f78718","title":"Chunked Row Groups: Row group count truncates final packet or counts each scanline · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":45.97,"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":74,"allocation_end":17,"checksum":84,"directory_bytes":28,"group_count":4,"group_id":0,"group_origin":39,"group_row":2,"group_sizes":[47,19,-23,-65],"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":false},{"actual":{"address":230,"allocation_end":-487,"checksum":234,"directory_bytes":56,"group_count":8,"group_id":2,"group_origin":209,"group_row":0,"group_sizes":[71,71,49,-17,-83,-149,-215,-281],"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":false},{"actual":{"address":350,"allocation_end":-811,"checksum":352,"directory_bytes":56,"group_count":8,"group_id":2,"group_origin":281,"group_row":1,"group_sizes":[107,107,73,-29,-131,-233,-335,-437],"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":false},{"actual":{"address":432,"allocation_end":-1655,"checksum":436,"directory_bytes":70,"group_count":10,"group_id":2,"group_origin":319,"group_row":2,"group_sizes":[119,119,119,43,-71,-185,-299,-413,-527,-641],"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":false},{"actual":{"address":325,"allocation_end":-1225,"checksum":333,"directory_bytes":91,"group_count":13,"group_id":4,"group_origin":314,"group_row":0,"group_sizes":[53,53,53,53,21,-27,-75,-123,-171,-219,-267,-315,-363],"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":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\": 4, \"group_id\": 0, \"group_row\": 2, \"row_span\": 14, \"directory_bytes\": 28, \"group_sizes\": [47, 19, -23, -65], \"group_origin\": 39, \"address\": 74, \"checksum\": 84, \"allocation_end\": 17}, \"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\": 8, \"group_id\": 2, \"group_row\": 0, \"row_span\": 22, \"directory_bytes\": 56, \"group_sizes\": [71, 71, 49, -17, -83, -149, -215, -281], \"group_origin\": 209, \"address\": 230, \"checksum\": 234, \"allocation_end\": -487}, \"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\": 8, \"group_id\": 2, \"group_row\": 1, \"row_span\": 34, \"directory_bytes\": 56, \"group_sizes\": [107, 107, 73, -29, -131, -233, -335, -437], \"group_origin\": 281, \"address\": 350, \"checksum\": 352, \"allocation_end\": -811}, \"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\": 10, \"group_id\": 2, \"group_row\": 2, \"row_span\": 38, \"directory_bytes\": 70, \"group_sizes\": [119, 119, 119, 43, -71, -185, -299, -413, -527, -641], \"group_origin\": 319, \"address\": 432, \"checksum\": 436, \"allocation_end\": -1655}, \"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\": 13, \"group_id\": 4, \"group_row\": 0, \"row_span\": 16, \"directory_bytes\": 91, \"group_sizes\": [53, 53, 53, 53, 21, -27, -75, -123, -171, -219, -267, -315, -363], \"group_origin\": 314, \"address\": 325, \"checksum\": 333, \"allocation_end\": -1225}, \"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":44.952,"exit_code":1,"observations":[{"actual":{"address":16,"allocation_end":11,"checksum":18,"directory_bytes":0,"group_count":0,"group_id":0,"group_origin":11,"group_row":0,"group_sizes":[],"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":false},{"actual":{"address":53,"allocation_end":65,"checksum":63,"directory_bytes":7,"group_count":1,"group_id":0,"group_origin":18,"group_row":2,"group_sizes":[47],"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":false},{"actual":{"address":188,"allocation_end":167,"checksum":192,"directory_bytes":14,"group_count":2,"group_id":2,"group_origin":167,"group_row":0,"group_sizes":[71,71],"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":false},{"actual":{"address":308,"allocation_end":239,"checksum":310,"directory_bytes":14,"group_count":2,"group_id":2,"group_origin":239,"group_row":1,"group_sizes":[107,107],"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":false},{"actual":{"address":383,"allocation_end":389,"checksum":387,"directory_bytes":21,"group_count":3,"group_id":2,"group_origin":270,"group_row":2,"group_sizes":[119,119,119],"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":false},{"actual":{"address":262,"allocation_end":251,"checksum":270,"directory_bytes":28,"group_count":4,"group_id":4,"group_origin":251,"group_row":0,"group_sizes":[53,53,53,53],"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":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"layout fixture 1\", \"actual\": {\"group_count\": 0, \"group_id\": 0, \"group_row\": 0, \"row_span\": 4, \"directory_bytes\": 0, \"group_sizes\": [], \"group_origin\": 11, \"address\": 16, \"checksum\": 18, \"allocation_end\": 11}, \"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\": 1, \"group_id\": 0, \"group_row\": 2, \"row_span\": 14, \"directory_bytes\": 7, \"group_sizes\": [47], \"group_origin\": 18, \"address\": 53, \"checksum\": 63, \"allocation_end\": 65}, \"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\": 2, \"group_id\": 2, \"group_row\": 0, \"row_span\": 22, \"directory_bytes\": 14, \"group_sizes\": [71, 71], \"group_origin\": 167, \"address\": 188, \"checksum\": 192, \"allocation_end\": 167}, \"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\": 2, \"group_id\": 2, \"group_row\": 1, \"row_span\": 34, \"directory_bytes\": 14, \"group_sizes\": [107, 107], \"group_origin\": 239, \"address\": 308, \"checksum\": 310, \"allocation_end\": 239}, \"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\": 3, \"group_id\": 2, \"group_row\": 2, \"row_span\": 38, \"directory_bytes\": 21, \"group_sizes\": [119, 119, 119], \"group_origin\": 270, \"address\": 383, \"checksum\": 387, \"allocation_end\": 389}, \"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\": 4, \"group_id\": 4, \"group_row\": 0, \"row_span\": 16, \"directory_bytes\": 28, \"group_sizes\": [53, 53, 53, 53], \"group_origin\": 251, \"address\": 262, \"checksum\": 270, \"allocation_end\": 251}, \"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"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}