{"abstract":"Weight-limited pallets exceed the gross limit by the pallet tare.","category":"Warehouse slotting and bin packing","checks":8,"contract":"case [l, w, h, kg], pallet [L, W]; cases stay upright but may rotate 90 degrees; all layers share one orientation. Pallet base adds 15 height and 25 kg tare. Cases per pallet are bounded by whole layers within max_h and by max_kg (a partial top layer is allowed). Return [per_layer, layers used, cases, height, weight].","evaluation_group":"w2-warehouse-slotting-pallet-build","failed_approach":"Subtracting one extra case as a safety margin under-fills pallets.","family":"w2-warehouse-slotting-pallet-build-pallet-tare-weight","id":"FA-94996","implementations":{"attempt":{"sha256":"dccc728a068662e864e1dfc0d717614e987349c365cd54621871e6508cafc728","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(case, pallet, max_h, max_kg):\n    l, w, h, kg = case\n    L, W = pallet\n    per_layer = max((L // l) * (W // w), (L // w) * (W // l))\n    if per_layer == 0:\n        return [0, 0, 0, 15, 25]\n    layers = (max_h - 15) // h\n    by_weight = (max_kg - 25) // kg - 1\n    cases = min(per_layer * layers, by_weight)\n    if cases <= 0:\n        return [per_layer, 0, 0, 15, 25]\n    full = -(-cases // per_layer)\n    return [per_layer, full, cases, 15 + full * h, 25 + cases * kg]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['weight bound partial layer', [[40, 30, 25, 20], [120, 100], 190, 425], [9, 3, 20, 90, 425]], ['generated mix 1', [[50, 15, 10, 12], [120, 100], 190, 1025], [16, 6, 83, 75, 1021]], ['listed orientation wins', [[30, 20, 20, 5], [120, 100], 115, 1000], [20, 5, 100, 115, 525]], ['height exact', [[40, 30, 25, 2], [120, 100], 140, 2000], [9, 5, 45, 140, 115]], ['too heavy for one', [[40, 30, 25, 500], [120, 100], 190, 425], [9, 0, 0, 15, 25]], ['rotation wins', [[50, 30, 20, 5], [120, 100], 115, 1000], [8, 5, 40, 115, 225]], ['generated mix 7', [[40, 30, 20, 5], [120, 80], 140, 1025], [8, 6, 48, 135, 265]], ['generated mix 15', [[50, 20, 30, 8], [120, 80], 115, 800], [8, 3, 24, 105, 217]]], [['generated mix 24', [[25, 30, 10, 12], [120, 100], 115, 1025], [16, 6, 83, 75, 1021]], ['generated mix 20', [[20, 20, 25, 20], [120, 100], 115, 1200], [30, 2, 58, 65, 1185]], ['weight bound partial layer', [[40, 30, 25, 20], [120, 100], 190, 425], [9, 3, 20, 90, 425]], ['too heavy for one', [[40, 30, 25, 500], [120, 100], 190, 425], [9, 0, 0, 15, 25]], ['listed orientation wins', [[30, 20, 20, 5], [120, 100], 115, 1000], [20, 5, 100, 115, 525]], ['height exact', [[40, 30, 25, 2], [120, 100], 140, 2000], [9, 5, 45, 140, 115]], ['generated mix 9', [[50, 20, 25, 12], [120, 100], 115, 1200], [12, 4, 48, 115, 601]], ['generated mix 17', [[30, 30, 30, 8], [120, 80], 165, 500], [8, 5, 40, 165, 345]]], [['generated mix 35', [[25, 20, 10, 12], [120, 80], 140, 800], [18, 4, 64, 55, 793]], ['generated mix 29', [[50, 30, 30, 20], [120, 100], 190, 300], [8, 2, 13, 75, 285]], ['square', [[25, 25, 30, 5], [120, 80], 165, 900], [12, 5, 60, 165, 325]], ['rotation wins', [[50, 30, 20, 5], [120, 100], 115, 1000], [8, 5, 40, 115, 225]], ['weight bound partial layer', [[40, 30, 25, 20], [120, 100], 190, 425], [9, 3, 20, 90, 425]], ['too heavy for one', [[40, 30, 25, 500], [120, 100], 190, 425], [9, 0, 0, 15, 25]], ['generated mix 20', [[20, 20, 25, 20], [120, 100], 115, 1200], [30, 2, 58, 65, 1185]], ['generated mix 28', [[20, 30, 20, 12], [120, 80], 140, 800], [16, 4, 64, 95, 793]]], [['generated mix 43', [[25, 20, 20, 12], [120, 100], 140, 1200], [24, 5, 97, 115, 1189]], ['generated mix 36', [[25, 30, 20, 12], [120, 80], 115, 500], [12, 4, 39, 95, 493]], ['height exact', [[40, 30, 25, 2], [120, 100], 140, 2000], [9, 5, 45, 140, 115]], ['too big', [[130, 30, 25, 2], [120, 100], 190, 425], [0, 0, 0, 15, 25]], ['square', [[25, 25, 30, 5], [120, 80], 165, 900], [12, 5, 60, 165, 325]], ['rotation wins', [[50, 30, 20, 5], [120, 100], 115, 1000], [8, 5, 40, 115, 225]], ['generated mix 31', [[40, 15, 25, 5], [120, 100], 190, 1025], [18, 7, 126, 190, 655]], ['generated mix 40', [[20, 15, 30, 20], [120, 80], 190, 500], [32, 1, 23, 45, 485]]], [['generated mix 58', [[50, 25, 10, 12], [120, 100], 140, 500], [8, 5, 39, 65, 493]], ['generated mix 42', [[40, 30, 20, 5], [120, 80], 165, 300], [8, 7, 55, 155, 300]], ['too heavy for one', [[40, 30, 25, 500], [120, 100], 190, 425], [9, 0, 0, 15, 25]], ['listed orientation wins', [[30, 20, 20, 5], [120, 100], 115, 1000], [20, 5, 100, 115, 525]], ['height exact', [[40, 30, 25, 2], [120, 100], 140, 2000], [9, 5, 45, 140, 115]], ['too big', [[130, 30, 25, 2], [120, 100], 190, 425], [0, 0, 0, 15, 25]], ['generated mix 43', [[25, 20, 20, 12], [120, 100], 140, 1200], [24, 5, 97, 115, 1189]], ['generated mix 51', [[25, 15, 10, 8], [120, 80], 165, 500], [24, 3, 59, 45, 497]]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"bc9f62e5b3603c81eb67793ba533bb81659cb79dac4e6c6e2cff93a245124da4","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(case, pallet, max_h, max_kg):\n    l, w, h, kg = case\n    L, W = pallet\n    per_layer = max((L // l) * (W // w), (L // w) * (W // l))\n    if per_layer == 0:\n        return [0, 0, 0, 15, 25]\n    layers = (max_h - 15) // h\n    by_weight = max_kg // kg\n    cases = min(per_layer * layers, by_weight)\n    if cases <= 0:\n        return [per_layer, 0, 0, 15, 25]\n    full = -(-cases // per_layer)\n    return [per_layer, full, cases, 15 + full * h, 25 + cases * kg]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['weight bound partial layer', [[40, 30, 25, 20], [120, 100], 190, 425], [9, 3, 20, 90, 425]], ['generated mix 1', [[50, 15, 10, 12], [120, 100], 190, 1025], [16, 6, 83, 75, 1021]], ['listed orientation wins', [[30, 20, 20, 5], [120, 100], 115, 1000], [20, 5, 100, 115, 525]], ['height exact', [[40, 30, 25, 2], [120, 100], 140, 2000], [9, 5, 45, 140, 115]], ['too heavy for one', [[40, 30, 25, 500], [120, 100], 190, 425], [9, 0, 0, 15, 25]], ['rotation wins', [[50, 30, 20, 5], [120, 100], 115, 1000], [8, 5, 40, 115, 225]], ['generated mix 7', [[40, 30, 20, 5], [120, 80], 140, 1025], [8, 6, 48, 135, 265]], ['generated mix 15', [[50, 20, 30, 8], [120, 80], 115, 800], [8, 3, 24, 105, 217]]], [['generated mix 24', [[25, 30, 10, 12], [120, 100], 115, 1025], [16, 6, 83, 75, 1021]], ['generated mix 20', [[20, 20, 25, 20], [120, 100], 115, 1200], [30, 2, 58, 65, 1185]], ['weight bound partial layer', [[40, 30, 25, 20], [120, 100], 190, 425], [9, 3, 20, 90, 425]], ['too heavy for one', [[40, 30, 25, 500], [120, 100], 190, 425], [9, 0, 0, 15, 25]], ['listed orientation wins', [[30, 20, 20, 5], [120, 100], 115, 1000], [20, 5, 100, 115, 525]], ['height exact', [[40, 30, 25, 2], [120, 100], 140, 2000], [9, 5, 45, 140, 115]], ['generated mix 9', [[50, 20, 25, 12], [120, 100], 115, 1200], [12, 4, 48, 115, 601]], ['generated mix 17', [[30, 30, 30, 8], [120, 80], 165, 500], [8, 5, 40, 165, 345]]], [['generated mix 35', [[25, 20, 10, 12], [120, 80], 140, 800], [18, 4, 64, 55, 793]], ['generated mix 29', [[50, 30, 30, 20], [120, 100], 190, 300], [8, 2, 13, 75, 285]], ['square', [[25, 25, 30, 5], [120, 80], 165, 900], [12, 5, 60, 165, 325]], ['rotation wins', [[50, 30, 20, 5], [120, 100], 115, 1000], [8, 5, 40, 115, 225]], ['weight bound partial layer', [[40, 30, 25, 20], [120, 100], 190, 425], [9, 3, 20, 90, 425]], ['too heavy for one', [[40, 30, 25, 500], [120, 100], 190, 425], [9, 0, 0, 15, 25]], ['generated mix 20', [[20, 20, 25, 20], [120, 100], 115, 1200], [30, 2, 58, 65, 1185]], ['generated mix 28', [[20, 30, 20, 12], [120, 80], 140, 800], [16, 4, 64, 95, 793]]], [['generated mix 43', [[25, 20, 20, 12], [120, 100], 140, 1200], [24, 5, 97, 115, 1189]], ['generated mix 36', [[25, 30, 20, 12], [120, 80], 115, 500], [12, 4, 39, 95, 493]], ['height exact', [[40, 30, 25, 2], [120, 100], 140, 2000], [9, 5, 45, 140, 115]], ['too big', [[130, 30, 25, 2], [120, 100], 190, 425], [0, 0, 0, 15, 25]], ['square', [[25, 25, 30, 5], [120, 80], 165, 900], [12, 5, 60, 165, 325]], ['rotation wins', [[50, 30, 20, 5], [120, 100], 115, 1000], [8, 5, 40, 115, 225]], ['generated mix 31', [[40, 15, 25, 5], [120, 100], 190, 1025], [18, 7, 126, 190, 655]], ['generated mix 40', [[20, 15, 30, 20], [120, 80], 190, 500], [32, 1, 23, 45, 485]]], [['generated mix 58', [[50, 25, 10, 12], [120, 100], 140, 500], [8, 5, 39, 65, 493]], ['generated mix 42', [[40, 30, 20, 5], [120, 80], 165, 300], [8, 7, 55, 155, 300]], ['too heavy for one', [[40, 30, 25, 500], [120, 100], 190, 425], [9, 0, 0, 15, 25]], ['listed orientation wins', [[30, 20, 20, 5], [120, 100], 115, 1000], [20, 5, 100, 115, 525]], ['height exact', [[40, 30, 25, 2], [120, 100], 140, 2000], [9, 5, 45, 140, 115]], ['too big', [[130, 30, 25, 2], [120, 100], 190, 425], [0, 0, 0, 15, 25]], ['generated mix 43', [[25, 20, 20, 12], [120, 100], 140, 1200], [24, 5, 97, 115, 1189]], ['generated mix 51', [[25, 15, 10, 8], [120, 80], 165, 500], [24, 3, 59, 45, 497]]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"3dd194a702769bbffb75ecb7ca0170245886aaf1764f8defe2785c5af11cca9b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(case, pallet, max_h, max_kg):\n    l, w, h, kg = case\n    L, W = pallet\n    per_layer = max((L // l) * (W // w), (L // w) * (W // l))\n    if per_layer == 0:\n        return [0, 0, 0, 15, 25]\n    layers = (max_h - 15) // h\n    by_weight = (max_kg - 25) // kg\n    cases = min(per_layer * layers, by_weight)\n    if cases <= 0:\n        return [per_layer, 0, 0, 15, 25]\n    full = -(-cases // per_layer)\n    return [per_layer, full, cases, 15 + full * h, 25 + cases * kg]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['weight bound partial layer', [[40, 30, 25, 20], [120, 100], 190, 425], [9, 3, 20, 90, 425]], ['generated mix 1', [[50, 15, 10, 12], [120, 100], 190, 1025], [16, 6, 83, 75, 1021]], ['listed orientation wins', [[30, 20, 20, 5], [120, 100], 115, 1000], [20, 5, 100, 115, 525]], ['height exact', [[40, 30, 25, 2], [120, 100], 140, 2000], [9, 5, 45, 140, 115]], ['too heavy for one', [[40, 30, 25, 500], [120, 100], 190, 425], [9, 0, 0, 15, 25]], ['rotation wins', [[50, 30, 20, 5], [120, 100], 115, 1000], [8, 5, 40, 115, 225]], ['generated mix 7', [[40, 30, 20, 5], [120, 80], 140, 1025], [8, 6, 48, 135, 265]], ['generated mix 15', [[50, 20, 30, 8], [120, 80], 115, 800], [8, 3, 24, 105, 217]]], [['generated mix 24', [[25, 30, 10, 12], [120, 100], 115, 1025], [16, 6, 83, 75, 1021]], ['generated mix 20', [[20, 20, 25, 20], [120, 100], 115, 1200], [30, 2, 58, 65, 1185]], ['weight bound partial layer', [[40, 30, 25, 20], [120, 100], 190, 425], [9, 3, 20, 90, 425]], ['too heavy for one', [[40, 30, 25, 500], [120, 100], 190, 425], [9, 0, 0, 15, 25]], ['listed orientation wins', [[30, 20, 20, 5], [120, 100], 115, 1000], [20, 5, 100, 115, 525]], ['height exact', [[40, 30, 25, 2], [120, 100], 140, 2000], [9, 5, 45, 140, 115]], ['generated mix 9', [[50, 20, 25, 12], [120, 100], 115, 1200], [12, 4, 48, 115, 601]], ['generated mix 17', [[30, 30, 30, 8], [120, 80], 165, 500], [8, 5, 40, 165, 345]]], [['generated mix 35', [[25, 20, 10, 12], [120, 80], 140, 800], [18, 4, 64, 55, 793]], ['generated mix 29', [[50, 30, 30, 20], [120, 100], 190, 300], [8, 2, 13, 75, 285]], ['square', [[25, 25, 30, 5], [120, 80], 165, 900], [12, 5, 60, 165, 325]], ['rotation wins', [[50, 30, 20, 5], [120, 100], 115, 1000], [8, 5, 40, 115, 225]], ['weight bound partial layer', [[40, 30, 25, 20], [120, 100], 190, 425], [9, 3, 20, 90, 425]], ['too heavy for one', [[40, 30, 25, 500], [120, 100], 190, 425], [9, 0, 0, 15, 25]], ['generated mix 20', [[20, 20, 25, 20], [120, 100], 115, 1200], [30, 2, 58, 65, 1185]], ['generated mix 28', [[20, 30, 20, 12], [120, 80], 140, 800], [16, 4, 64, 95, 793]]], [['generated mix 43', [[25, 20, 20, 12], [120, 100], 140, 1200], [24, 5, 97, 115, 1189]], ['generated mix 36', [[25, 30, 20, 12], [120, 80], 115, 500], [12, 4, 39, 95, 493]], ['height exact', [[40, 30, 25, 2], [120, 100], 140, 2000], [9, 5, 45, 140, 115]], ['too big', [[130, 30, 25, 2], [120, 100], 190, 425], [0, 0, 0, 15, 25]], ['square', [[25, 25, 30, 5], [120, 80], 165, 900], [12, 5, 60, 165, 325]], ['rotation wins', [[50, 30, 20, 5], [120, 100], 115, 1000], [8, 5, 40, 115, 225]], ['generated mix 31', [[40, 15, 25, 5], [120, 100], 190, 1025], [18, 7, 126, 190, 655]], ['generated mix 40', [[20, 15, 30, 20], [120, 80], 190, 500], [32, 1, 23, 45, 485]]], [['generated mix 58', [[50, 25, 10, 12], [120, 100], 140, 500], [8, 5, 39, 65, 493]], ['generated mix 42', [[40, 30, 20, 5], [120, 80], 165, 300], [8, 7, 55, 155, 300]], ['too heavy for one', [[40, 30, 25, 500], [120, 100], 190, 425], [9, 0, 0, 15, 25]], ['listed orientation wins', [[30, 20, 20, 5], [120, 100], 115, 1000], [20, 5, 100, 115, 525]], ['height exact', [[40, 30, 25, 2], [120, 100], 140, 2000], [9, 5, 45, 140, 115]], ['too big', [[130, 30, 25, 2], [120, 100], 190, 425], [0, 0, 0, 15, 25]], ['generated mix 43', [[25, 20, 20, 12], [120, 100], 140, 1200], [24, 5, 97, 115, 1189]], ['generated mix 51', [[25, 15, 10, 8], [120, 80], 165, 500], [24, 3, 59, 45, 497]]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Uniform-case, single-orientation layer model; no interlocking patterns. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-warehouse-slotting-pallet-build-pallet-tare-weight","generated_at":"2026-09-29T14:52:09.640612+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Pallet build limits govern reserve storage heights and floor loading.","repair":"Subtract the 25 kg tare before computing how many cases the weight limit allows.","root_cause":"The weight bound divides the gross limit by case weight without subtracting pallet tare.","sha256":"e5d07377146111e2a1c4dd7860b6ea0bbda8c6ce403571999f55d71e006cd051","title":"Pallet build: tare ignored in weight cap · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.904,"exit_code":1,"observations":[{"actual":[9,3,19,90,405],"check":"weight bound partial layer","expected":[9,3,20,90,425],"passed":false},{"actual":[16,6,82,75,1009],"check":"generated mix 1","expected":[16,6,83,75,1021],"passed":false},{"actual":[20,5,100,115,525],"check":"listed orientation wins","expected":[20,5,100,115,525],"passed":true},{"actual":[9,5,45,140,115],"check":"height exact","expected":[9,5,45,140,115],"passed":true},{"actual":[9,0,0,15,25],"check":"too heavy for one","expected":[9,0,0,15,25],"passed":true},{"actual":[8,5,40,115,225],"check":"rotation wins","expected":[8,5,40,115,225],"passed":true},{"actual":[8,6,48,135,265],"check":"generated mix 7","expected":[8,6,48,135,265],"passed":true},{"actual":[8,3,24,105,217],"check":"generated mix 15","expected":[8,3,24,105,217],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"weight bound partial layer\", \"actual\": [9, 3, 19, 90, 405], \"expected\": [9, 3, 20, 90, 425], \"passed\": false}, {\"check\": \"generated mix 1\", \"actual\": [16, 6, 82, 75, 1009], \"expected\": [16, 6, 83, 75, 1021], \"passed\": false}, {\"check\": \"listed orientation wins\", \"actual\": [20, 5, 100, 115, 525], \"expected\": [20, 5, 100, 115, 525], \"passed\": true}, {\"check\": \"height exact\", \"actual\": [9, 5, 45, 140, 115], \"expected\": [9, 5, 45, 140, 115], \"passed\": true}, {\"check\": \"too heavy for one\", \"actual\": [9, 0, 0, 15, 25], \"expected\": [9, 0, 0, 15, 25], \"passed\": true}, {\"check\": \"rotation wins\", \"actual\": [8, 5, 40, 115, 225], \"expected\": [8, 5, 40, 115, 225], \"passed\": true}, {\"check\": \"generated mix 7\", \"actual\": [8, 6, 48, 135, 265], \"expected\": [8, 6, 48, 135, 265], \"passed\": true}, {\"check\": \"generated mix 15\", \"actual\": [8, 3, 24, 105, 217], \"expected\": [8, 3, 24, 105, 217], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.183,"exit_code":1,"observations":[{"actual":[9,3,21,90,445],"check":"weight bound partial layer","expected":[9,3,20,90,425],"passed":false},{"actual":[16,6,85,75,1045],"check":"generated mix 1","expected":[16,6,83,75,1021],"passed":false},{"actual":[20,5,100,115,525],"check":"listed orientation wins","expected":[20,5,100,115,525],"passed":true},{"actual":[9,5,45,140,115],"check":"height exact","expected":[9,5,45,140,115],"passed":true},{"actual":[9,0,0,15,25],"check":"too heavy for one","expected":[9,0,0,15,25],"passed":true},{"actual":[8,5,40,115,225],"check":"rotation wins","expected":[8,5,40,115,225],"passed":true},{"actual":[8,6,48,135,265],"check":"generated mix 7","expected":[8,6,48,135,265],"passed":true},{"actual":[8,3,24,105,217],"check":"generated mix 15","expected":[8,3,24,105,217],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"weight bound partial layer\", \"actual\": [9, 3, 21, 90, 445], \"expected\": [9, 3, 20, 90, 425], \"passed\": false}, {\"check\": \"generated mix 1\", \"actual\": [16, 6, 85, 75, 1045], \"expected\": [16, 6, 83, 75, 1021], \"passed\": false}, {\"check\": \"listed orientation wins\", \"actual\": [20, 5, 100, 115, 525], \"expected\": [20, 5, 100, 115, 525], \"passed\": true}, {\"check\": \"height exact\", \"actual\": [9, 5, 45, 140, 115], \"expected\": [9, 5, 45, 140, 115], \"passed\": true}, {\"check\": \"too heavy for one\", \"actual\": [9, 0, 0, 15, 25], \"expected\": [9, 0, 0, 15, 25], \"passed\": true}, {\"check\": \"rotation wins\", \"actual\": [8, 5, 40, 115, 225], \"expected\": [8, 5, 40, 115, 225], \"passed\": true}, {\"check\": \"generated mix 7\", \"actual\": [8, 6, 48, 135, 265], \"expected\": [8, 6, 48, 135, 265], \"passed\": true}, {\"check\": \"generated mix 15\", \"actual\": [8, 3, 24, 105, 217], \"expected\": [8, 3, 24, 105, 217], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.033,"exit_code":0,"observations":[{"actual":[9,3,20,90,425],"check":"weight bound partial layer","expected":[9,3,20,90,425],"passed":true},{"actual":[16,6,83,75,1021],"check":"generated mix 1","expected":[16,6,83,75,1021],"passed":true},{"actual":[20,5,100,115,525],"check":"listed orientation wins","expected":[20,5,100,115,525],"passed":true},{"actual":[9,5,45,140,115],"check":"height exact","expected":[9,5,45,140,115],"passed":true},{"actual":[9,0,0,15,25],"check":"too heavy for one","expected":[9,0,0,15,25],"passed":true},{"actual":[8,5,40,115,225],"check":"rotation wins","expected":[8,5,40,115,225],"passed":true},{"actual":[8,6,48,135,265],"check":"generated mix 7","expected":[8,6,48,135,265],"passed":true},{"actual":[8,3,24,105,217],"check":"generated mix 15","expected":[8,3,24,105,217],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"weight bound partial layer\", \"actual\": [9, 3, 20, 90, 425], \"expected\": [9, 3, 20, 90, 425], \"passed\": true}, {\"check\": \"generated mix 1\", \"actual\": [16, 6, 83, 75, 1021], \"expected\": [16, 6, 83, 75, 1021], \"passed\": true}, {\"check\": \"listed orientation wins\", \"actual\": [20, 5, 100, 115, 525], \"expected\": [20, 5, 100, 115, 525], \"passed\": true}, {\"check\": \"height exact\", \"actual\": [9, 5, 45, 140, 115], \"expected\": [9, 5, 45, 140, 115], \"passed\": true}, {\"check\": \"too heavy for one\", \"actual\": [9, 0, 0, 15, 25], \"expected\": [9, 0, 0, 15, 25], \"passed\": true}, {\"check\": \"rotation wins\", \"actual\": [8, 5, 40, 115, 225], \"expected\": [8, 5, 40, 115, 225], \"passed\": true}, {\"check\": \"generated mix 7\", \"actual\": [8, 6, 48, 135, 265], \"expected\": [8, 6, 48, 135, 265], \"passed\": true}, {\"check\": \"generated mix 15\", \"actual\": [8, 3, 24, 105, 217], \"expected\": [8, 3, 24, 105, 217], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}