{"abstract":"Crushable cartons are stacked to the full slot height.","category":"Warehouse slotting and bin packing","checks":8,"contract":"slot [width, depth, height], unit [w, d, h]. Upright units may only rotate in the horizontal plane; others may take any of the 6 axis orientations. Vertical layers = height // unit height, capped at max_stack when max_stack > 0 (0 = unlimited). Units = best over orientations of (W//a)*(D//b)*layers. Utilization in basis points = floor(units*unit volume*10000/slot volume).","contract_signature":"slot, unit, max_stack, upright","evaluation_group":"w2-warehouse-slotting-slot-cube-fit","failed_approach":"Comparing the total unit count with max_stack confuses layers with units and zeroes valid slots.","family":"w2-warehouse-slotting-slot-cube-fit-stack-cap","id":"FA-95071","implementations":{"attempt":{"sha256":"ae1c448cf312b4ea274f5b36bde743b9afd59e51adc3922f9074728fe94208c9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport itertools\nN = 1\nobservations = []\ndef solve(slot, unit, max_stack, upright):\n    SW, SD, SH = slot\n    uw, ud, uh = unit\n    if upright:\n        orients = [(uw, ud, uh), (ud, uw, uh)]\n    else:\n        orients = sorted(set(itertools.permutations(unit)))\n    best = 0\n    for a, b, c in orients:\n        layers = SH // c\n        if max_stack:\n            layers = layers\n        if max_stack and (SW // a) * (SD // b) * layers > max_stack:\n            layers = 0\n        best = max(best, (SW // a) * (SD // b) * layers)\n    bp = best * uw * ud * uh * 10000 // (SW * SD * SH)\n    return [best, bp]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['stack cap', [[48, 40, 30], [12, 10, 10], 2, True], [32, 6666]], ['generated mix 1', [[40, 40, 30], [5, 15, 7], 1, False], [40, 4375]], ['upright plane rotation', [[48, 40, 30], [12, 10, 10], 0, True], [48, 10000]], ['upright blocked', [[40, 40, 12], [10, 10, 20], 0, True], [0, 0]], ['fraction bp', [[100, 30, 45], [25, 15, 7], 0, True], [48, 9333]], ['laydown helps', [[40, 40, 12], [10, 10, 20], 0, False], [8, 8333]], ['unlimited zero', [[20, 20, 40], [10, 10, 10], 0, True], [16, 10000]], ['generated mix 9', [[48, 30, 60], [25, 10, 4], 3, False], [72, 8333]]], [['generated mix 24', [[100, 48, 45], [10, 6, 10], 1, False], [80, 2222]], ['generated mix 8', [[60, 48, 60], [25, 10, 12], 5, False], [48, 8333]], ['upright blocked', [[40, 40, 12], [10, 10, 20], 0, True], [0, 0]], ['fraction bp', [[100, 30, 45], [25, 15, 7], 0, True], [48, 9333]], ['stack cap', [[48, 40, 30], [12, 10, 10], 2, True], [32, 6666]], ['generated mix 10', [[48, 60, 45], [25, 20, 10], 0, True], [16, 6172]], ['generated mix 18', [[40, 48, 20], [25, 20, 10], 3, False], [4, 5208]], ['generated mix 27', [[60, 60, 45], [8, 20, 7], 3, False], [112, 7743]]], [['generated mix 42', [[60, 30, 30], [10, 15, 35], 1, False], [3, 2916]], ['generated mix 16', [[60, 30, 60], [25, 15, 7], 1, True], [4, 972]], ['upright plane rotation', [[48, 40, 30], [12, 10, 10], 0, True], [48, 10000]], ['laydown helps', [[40, 40, 12], [10, 10, 20], 0, False], [8, 8333]], ['unlimited zero', [[20, 20, 40], [10, 10, 10], 0, True], [16, 10000]], ['generated mix 21', [[40, 48, 45], [10, 10, 10], 2, True], [32, 3703]], ['generated mix 29', [[100, 48, 20], [8, 20, 12], 1, True], [30, 6000]], ['generated mix 37', [[40, 48, 20], [8, 6, 7], 1, False], [40, 3500]]], [['generated mix 64', [[100, 40, 45], [25, 6, 4], 5, False], [200, 6666]], ['generated mix 21', [[40, 48, 45], [10, 10, 10], 2, True], [32, 3703]], ['upright blocked', [[40, 40, 12], [10, 10, 20], 0, True], [0, 0]], ['fraction bp', [[100, 30, 45], [25, 15, 7], 0, True], [48, 9333]], ['stack cap', [[48, 40, 30], [12, 10, 10], 2, True], [32, 6666]], ['generated mix 32', [[60, 30, 45], [8, 20, 4], 3, True], [27, 2133]], ['generated mix 40', [[40, 40, 30], [5, 6, 12], 2, False], [96, 7200]], ['generated mix 48', [[60, 30, 45], [5, 20, 12], 2, False], [60, 8888]]], [['generated mix 77', [[60, 60, 60], [10, 10, 7], 1, True], [36, 1166]], ['generated mix 29', [[100, 48, 20], [8, 20, 12], 1, True], [30, 6000]], ['upright plane rotation', [[48, 40, 30], [12, 10, 10], 0, True], [48, 10000]], ['laydown helps', [[40, 40, 12], [10, 10, 20], 0, False], [8, 8333]], ['unlimited zero', [[20, 20, 40], [10, 10, 10], 0, True], [16, 10000]], ['generated mix 43', [[48, 48, 45], [25, 10, 10], 1, False], [16, 3858]], ['generated mix 51', [[60, 60, 30], [12, 10, 10], 3, True], [90, 10000]], ['generated mix 59', [[100, 48, 30], [12, 6, 35], 5, False], [40, 7000]]]]\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":"46b22c5d10c225c16a4a777d8829ec7ae30854323508d22e71979271f716bdc3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport itertools\nN = 1\nobservations = []\ndef solve(slot, unit, max_stack, upright):\n    SW, SD, SH = slot\n    uw, ud, uh = unit\n    if upright:\n        orients = [(uw, ud, uh), (ud, uw, uh)]\n    else:\n        orients = sorted(set(itertools.permutations(unit)))\n    best = 0\n    for a, b, c in orients:\n        layers = SH // c\n        if max_stack:\n            pass\n        best = max(best, (SW // a) * (SD // b) * layers)\n    bp = best * uw * ud * uh * 10000 // (SW * SD * SH)\n    return [best, bp]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['stack cap', [[48, 40, 30], [12, 10, 10], 2, True], [32, 6666]], ['generated mix 1', [[40, 40, 30], [5, 15, 7], 1, False], [40, 4375]], ['upright plane rotation', [[48, 40, 30], [12, 10, 10], 0, True], [48, 10000]], ['upright blocked', [[40, 40, 12], [10, 10, 20], 0, True], [0, 0]], ['fraction bp', [[100, 30, 45], [25, 15, 7], 0, True], [48, 9333]], ['laydown helps', [[40, 40, 12], [10, 10, 20], 0, False], [8, 8333]], ['unlimited zero', [[20, 20, 40], [10, 10, 10], 0, True], [16, 10000]], ['generated mix 9', [[48, 30, 60], [25, 10, 4], 3, False], [72, 8333]]], [['generated mix 24', [[100, 48, 45], [10, 6, 10], 1, False], [80, 2222]], ['generated mix 8', [[60, 48, 60], [25, 10, 12], 5, False], [48, 8333]], ['upright blocked', [[40, 40, 12], [10, 10, 20], 0, True], [0, 0]], ['fraction bp', [[100, 30, 45], [25, 15, 7], 0, True], [48, 9333]], ['stack cap', [[48, 40, 30], [12, 10, 10], 2, True], [32, 6666]], ['generated mix 10', [[48, 60, 45], [25, 20, 10], 0, True], [16, 6172]], ['generated mix 18', [[40, 48, 20], [25, 20, 10], 3, False], [4, 5208]], ['generated mix 27', [[60, 60, 45], [8, 20, 7], 3, False], [112, 7743]]], [['generated mix 42', [[60, 30, 30], [10, 15, 35], 1, False], [3, 2916]], ['generated mix 16', [[60, 30, 60], [25, 15, 7], 1, True], [4, 972]], ['upright plane rotation', [[48, 40, 30], [12, 10, 10], 0, True], [48, 10000]], ['laydown helps', [[40, 40, 12], [10, 10, 20], 0, False], [8, 8333]], ['unlimited zero', [[20, 20, 40], [10, 10, 10], 0, True], [16, 10000]], ['generated mix 21', [[40, 48, 45], [10, 10, 10], 2, True], [32, 3703]], ['generated mix 29', [[100, 48, 20], [8, 20, 12], 1, True], [30, 6000]], ['generated mix 37', [[40, 48, 20], [8, 6, 7], 1, False], [40, 3500]]], [['generated mix 64', [[100, 40, 45], [25, 6, 4], 5, False], [200, 6666]], ['generated mix 21', [[40, 48, 45], [10, 10, 10], 2, True], [32, 3703]], ['upright blocked', [[40, 40, 12], [10, 10, 20], 0, True], [0, 0]], ['fraction bp', [[100, 30, 45], [25, 15, 7], 0, True], [48, 9333]], ['stack cap', [[48, 40, 30], [12, 10, 10], 2, True], [32, 6666]], ['generated mix 32', [[60, 30, 45], [8, 20, 4], 3, True], [27, 2133]], ['generated mix 40', [[40, 40, 30], [5, 6, 12], 2, False], [96, 7200]], ['generated mix 48', [[60, 30, 45], [5, 20, 12], 2, False], [60, 8888]]], [['generated mix 77', [[60, 60, 60], [10, 10, 7], 1, True], [36, 1166]], ['generated mix 29', [[100, 48, 20], [8, 20, 12], 1, True], [30, 6000]], ['upright plane rotation', [[48, 40, 30], [12, 10, 10], 0, True], [48, 10000]], ['laydown helps', [[40, 40, 12], [10, 10, 20], 0, False], [8, 8333]], ['unlimited zero', [[20, 20, 40], [10, 10, 10], 0, True], [16, 10000]], ['generated mix 43', [[48, 48, 45], [25, 10, 10], 1, False], [16, 3858]], ['generated mix 51', [[60, 60, 30], [12, 10, 10], 3, True], [90, 10000]], ['generated mix 59', [[100, 48, 30], [12, 6, 35], 5, False], [40, 7000]]]]\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 unit, single orientation per slot; no mixed orientation packing. 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-slot-cube-fit-stack-cap","generated_at":"2026-09-29T14:52:10.397847+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Slot sizing converts product cube into units per location for slotting and replenishment.","root_cause":"The maximum stack layers are never applied to the vertical layer count.","sha256":"08f14386453876fd85abcdc182ad567b029e59b0d00ed4f9a0ca47360552ce4a","title":"Slot fit: stacking limit ignored · 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":42.798,"exit_code":1,"observations":[{"actual":[0,0],"check":"stack cap","expected":[32,6666],"passed":false},{"actual":[0,0],"check":"generated mix 1","expected":[40,4375],"passed":false},{"actual":[48,10000],"check":"upright plane rotation","expected":[48,10000],"passed":true},{"actual":[0,0],"check":"upright blocked","expected":[0,0],"passed":true},{"actual":[48,9333],"check":"fraction bp","expected":[48,9333],"passed":true},{"actual":[8,8333],"check":"laydown helps","expected":[8,8333],"passed":true},{"actual":[16,10000],"check":"unlimited zero","expected":[16,10000],"passed":true},{"actual":[0,0],"check":"generated mix 9","expected":[72,8333],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"stack cap\", \"actual\": [0, 0], \"expected\": [32, 6666], \"passed\": false}, {\"check\": \"generated mix 1\", \"actual\": [0, 0], \"expected\": [40, 4375], \"passed\": false}, {\"check\": \"upright plane rotation\", \"actual\": [48, 10000], \"expected\": [48, 10000], \"passed\": true}, {\"check\": \"upright blocked\", \"actual\": [0, 0], \"expected\": [0, 0], \"passed\": true}, {\"check\": \"fraction bp\", \"actual\": [48, 9333], \"expected\": [48, 9333], \"passed\": true}, {\"check\": \"laydown helps\", \"actual\": [8, 8333], \"expected\": [8, 8333], \"passed\": true}, {\"check\": \"unlimited zero\", \"actual\": [16, 10000], \"expected\": [16, 10000], \"passed\": true}, {\"check\": \"generated mix 9\", \"actual\": [0, 0], \"expected\": [72, 8333], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.963,"exit_code":1,"observations":[{"actual":[48,10000],"check":"stack cap","expected":[32,6666],"passed":false},{"actual":[80,8750],"check":"generated mix 1","expected":[40,4375],"passed":false},{"actual":[48,10000],"check":"upright plane rotation","expected":[48,10000],"passed":true},{"actual":[0,0],"check":"upright blocked","expected":[0,0],"passed":true},{"actual":[48,9333],"check":"fraction bp","expected":[48,9333],"passed":true},{"actual":[8,8333],"check":"laydown helps","expected":[8,8333],"passed":true},{"actual":[16,10000],"check":"unlimited zero","expected":[16,10000],"passed":true},{"actual":[72,8333],"check":"generated mix 9","expected":[72,8333],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"stack cap\", \"actual\": [48, 10000], \"expected\": [32, 6666], \"passed\": false}, {\"check\": \"generated mix 1\", \"actual\": [80, 8750], \"expected\": [40, 4375], \"passed\": false}, {\"check\": \"upright plane rotation\", \"actual\": [48, 10000], \"expected\": [48, 10000], \"passed\": true}, {\"check\": \"upright blocked\", \"actual\": [0, 0], \"expected\": [0, 0], \"passed\": true}, {\"check\": \"fraction bp\", \"actual\": [48, 9333], \"expected\": [48, 9333], \"passed\": true}, {\"check\": \"laydown helps\", \"actual\": [8, 8333], \"expected\": [8, 8333], \"passed\": true}, {\"check\": \"unlimited zero\", \"actual\": [16, 10000], \"expected\": [16, 10000], \"passed\": true}, {\"check\": \"generated mix 9\", \"actual\": [72, 8333], \"expected\": [72, 8333], \"passed\": true}], \"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."}}