{"abstract":"Whole cases are picked as loose eaches whenever each picking is allowed.","category":"Warehouse slotting and bin packing","checks":8,"contract":"qty eaches; pack [eaches per inner, per case, per pallet] with 0 meaning the level does not exist; allowed unit codes for the pick location. Greedy from largest allowed defined unit: PAL, CS, IP, EA. Return [[unit, count]] for nonzero counts in that order, then [\"UNPICKABLE\", eaches] if a remainder cannot be expressed.","evaluation_group":"w2-warehouse-slotting-uom-breakdown","failed_approach":"Trying inners before cases breaks full cases into inner packs.","family":"w2-warehouse-slotting-uom-breakdown-unit-precedence","id":"FA-95256","implementations":{"attempt":{"sha256":"fcb37366c6d3843035efc9a6460993fefbc6e5dec9042280dd13c4fb26cfd1d9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(qty, pack, allowed):\n    levels = [('PAL', pack[2]), ('IP', pack[0]), ('CS', pack[1]), ('EA', 1)]\n    rem = qty\n    out = []\n    for unit, size in levels:\n        if unit not in allowed or size <= 0:\n            continue\n        n = rem // size\n        if n:\n            out.append([unit, n])\n            rem -= n * size\n    if rem:\n        out.append(['UNPICKABLE', rem])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['full breakdown', [251, [6, 24, 240], ['PAL', 'CS', 'IP', 'EA']], [['PAL', 1], ['IP', 1], ['EA', 5]]], ['generated mix 4', [500, [4, 12, 120], ['PAL', 'CS', 'IP', 'EA']], [['PAL', 4], ['CS', 1], ['IP', 2]]], ['case and each', [50, [6, 24, 0], ['CS', 'EA']], [['CS', 2], ['EA', 2]]], ['undefined inner', [13, [0, 12, 0], ['IP', 'EA']], [['EA', 13]]], ['inner only', [13, [4, 12, 0], ['IP']], [['IP', 3], ['UNPICKABLE', 1]]], ['no each picking', [50, [6, 24, 0], ['CS', 'IP']], [['CS', 2], ['UNPICKABLE', 2]]], ['generated mix 7', [3, [4, 48, 480], ['PAL', 'CS', 'IP']], [['UNPICKABLE', 3]]], ['generated mix 15', [250, [4, 24, 480], ['PAL', 'IP', 'EA']], [['IP', 62], ['EA', 2]]]], [['generated mix 12', [500, [6, 24, 0], ['CS', 'IP', 'EA']], [['CS', 20], ['IP', 3], ['EA', 2]]], ['generated mix 28', [50, [4, 48, 0], ['PAL', 'CS', 'IP', 'EA']], [['CS', 1], ['EA', 2]]], ['undefined inner', [13, [0, 12, 0], ['IP', 'EA']], [['EA', 13]]], ['inner only', [13, [4, 12, 0], ['IP']], [['IP', 3], ['UNPICKABLE', 1]]], ['full breakdown', [251, [6, 24, 240], ['PAL', 'CS', 'IP', 'EA']], [['PAL', 1], ['IP', 1], ['EA', 5]]], ['no each picking', [50, [6, 24, 0], ['CS', 'IP']], [['CS', 2], ['UNPICKABLE', 2]]], ['generated mix 9', [250, [6, 48, 480], ['PAL', 'CS']], [['CS', 5], ['UNPICKABLE', 10]]], ['generated mix 18', [50, [0, 24, 240], ['CS']], [['CS', 2], ['UNPICKABLE', 2]]]], [['generated mix 25', [50, [6, 24, 0], ['PAL', 'CS', 'IP', 'EA']], [['CS', 2], ['EA', 2]]], ['generated mix 60', [500, [4, 48, 0], ['PAL', 'CS', 'IP']], [['CS', 10], ['IP', 5]]], ['pallet not allowed', [500, [6, 24, 240], ['CS', 'EA']], [['CS', 20], ['EA', 20]]], ['case and each', [50, [6, 24, 0], ['CS', 'EA']], [['CS', 2], ['EA', 2]]], ['undefined inner', [13, [0, 12, 0], ['IP', 'EA']], [['EA', 13]]], ['inner only', [13, [4, 12, 0], ['IP']], [['IP', 3], ['UNPICKABLE', 1]]], ['generated mix 20', [0, [6, 12, 0], ['PAL', 'CS', 'IP']], []], ['generated mix 29', [500, [4, 12, 0], ['CS', 'IP', 'EA']], [['CS', 41], ['IP', 2]]]], [['generated mix 36', [25, [4, 48, 0], ['PAL', 'CS', 'IP', 'EA']], [['IP', 6], ['EA', 1]]], ['generated mix 80', [50, [4, 12, 240], ['PAL', 'CS', 'IP', 'EA']], [['CS', 4], ['EA', 2]]], ['no each picking', [50, [6, 24, 0], ['CS', 'IP']], [['CS', 2], ['UNPICKABLE', 2]]], ['zero qty', [0, [6, 24, 240], ['EA']], []], ['pallet not allowed', [500, [6, 24, 240], ['CS', 'EA']], [['CS', 20], ['EA', 20]]], ['case and each', [50, [6, 24, 0], ['CS', 'EA']], [['CS', 2], ['EA', 2]]], ['generated mix 31', [500, [0, 48, 960], ['EA']], [['EA', 500]]], ['generated mix 40', [3, [4, 48, 480], ['IP']], [['UNPICKABLE', 3]]]], [['generated mix 48', [50, [6, 48, 0], ['CS', 'IP']], [['CS', 1], ['UNPICKABLE', 2]]], ['generated mix 12', [500, [6, 24, 0], ['CS', 'IP', 'EA']], [['CS', 20], ['IP', 3], ['EA', 2]]], ['inner only', [13, [4, 12, 0], ['IP']], [['IP', 3], ['UNPICKABLE', 1]]], ['full breakdown', [251, [6, 24, 240], ['PAL', 'CS', 'IP', 'EA']], [['PAL', 1], ['IP', 1], ['EA', 5]]], ['no each picking', [50, [6, 24, 0], ['CS', 'IP']], [['CS', 2], ['UNPICKABLE', 2]]], ['zero qty', [0, [6, 24, 240], ['EA']], []], ['generated mix 43', [120, [6, 24, 240], ['PAL', 'CS', 'EA']], [['CS', 5]]], ['generated mix 52', [50, [4, 48, 0], ['EA']], [['EA', 50]]]]]\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":"a6f5f2ed42d4e54412564eecb28a609fdc13c9da6c1b841e8da379305f730728","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(qty, pack, allowed):\n    levels = [('EA', 1), ('IP', pack[0]), ('CS', pack[1]), ('PAL', pack[2])]\n    rem = qty\n    out = []\n    for unit, size in levels:\n        if unit not in allowed or size <= 0:\n            continue\n        n = rem // size\n        if n:\n            out.append([unit, n])\n            rem -= n * size\n    if rem:\n        out.append(['UNPICKABLE', rem])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['full breakdown', [251, [6, 24, 240], ['PAL', 'CS', 'IP', 'EA']], [['PAL', 1], ['IP', 1], ['EA', 5]]], ['generated mix 4', [500, [4, 12, 120], ['PAL', 'CS', 'IP', 'EA']], [['PAL', 4], ['CS', 1], ['IP', 2]]], ['case and each', [50, [6, 24, 0], ['CS', 'EA']], [['CS', 2], ['EA', 2]]], ['undefined inner', [13, [0, 12, 0], ['IP', 'EA']], [['EA', 13]]], ['inner only', [13, [4, 12, 0], ['IP']], [['IP', 3], ['UNPICKABLE', 1]]], ['no each picking', [50, [6, 24, 0], ['CS', 'IP']], [['CS', 2], ['UNPICKABLE', 2]]], ['generated mix 7', [3, [4, 48, 480], ['PAL', 'CS', 'IP']], [['UNPICKABLE', 3]]], ['generated mix 15', [250, [4, 24, 480], ['PAL', 'IP', 'EA']], [['IP', 62], ['EA', 2]]]], [['generated mix 12', [500, [6, 24, 0], ['CS', 'IP', 'EA']], [['CS', 20], ['IP', 3], ['EA', 2]]], ['generated mix 28', [50, [4, 48, 0], ['PAL', 'CS', 'IP', 'EA']], [['CS', 1], ['EA', 2]]], ['undefined inner', [13, [0, 12, 0], ['IP', 'EA']], [['EA', 13]]], ['inner only', [13, [4, 12, 0], ['IP']], [['IP', 3], ['UNPICKABLE', 1]]], ['full breakdown', [251, [6, 24, 240], ['PAL', 'CS', 'IP', 'EA']], [['PAL', 1], ['IP', 1], ['EA', 5]]], ['no each picking', [50, [6, 24, 0], ['CS', 'IP']], [['CS', 2], ['UNPICKABLE', 2]]], ['generated mix 9', [250, [6, 48, 480], ['PAL', 'CS']], [['CS', 5], ['UNPICKABLE', 10]]], ['generated mix 18', [50, [0, 24, 240], ['CS']], [['CS', 2], ['UNPICKABLE', 2]]]], [['generated mix 25', [50, [6, 24, 0], ['PAL', 'CS', 'IP', 'EA']], [['CS', 2], ['EA', 2]]], ['generated mix 60', [500, [4, 48, 0], ['PAL', 'CS', 'IP']], [['CS', 10], ['IP', 5]]], ['pallet not allowed', [500, [6, 24, 240], ['CS', 'EA']], [['CS', 20], ['EA', 20]]], ['case and each', [50, [6, 24, 0], ['CS', 'EA']], [['CS', 2], ['EA', 2]]], ['undefined inner', [13, [0, 12, 0], ['IP', 'EA']], [['EA', 13]]], ['inner only', [13, [4, 12, 0], ['IP']], [['IP', 3], ['UNPICKABLE', 1]]], ['generated mix 20', [0, [6, 12, 0], ['PAL', 'CS', 'IP']], []], ['generated mix 29', [500, [4, 12, 0], ['CS', 'IP', 'EA']], [['CS', 41], ['IP', 2]]]], [['generated mix 36', [25, [4, 48, 0], ['PAL', 'CS', 'IP', 'EA']], [['IP', 6], ['EA', 1]]], ['generated mix 80', [50, [4, 12, 240], ['PAL', 'CS', 'IP', 'EA']], [['CS', 4], ['EA', 2]]], ['no each picking', [50, [6, 24, 0], ['CS', 'IP']], [['CS', 2], ['UNPICKABLE', 2]]], ['zero qty', [0, [6, 24, 240], ['EA']], []], ['pallet not allowed', [500, [6, 24, 240], ['CS', 'EA']], [['CS', 20], ['EA', 20]]], ['case and each', [50, [6, 24, 0], ['CS', 'EA']], [['CS', 2], ['EA', 2]]], ['generated mix 31', [500, [0, 48, 960], ['EA']], [['EA', 500]]], ['generated mix 40', [3, [4, 48, 480], ['IP']], [['UNPICKABLE', 3]]]], [['generated mix 48', [50, [6, 48, 0], ['CS', 'IP']], [['CS', 1], ['UNPICKABLE', 2]]], ['generated mix 12', [500, [6, 24, 0], ['CS', 'IP', 'EA']], [['CS', 20], ['IP', 3], ['EA', 2]]], ['inner only', [13, [4, 12, 0], ['IP']], [['IP', 3], ['UNPICKABLE', 1]]], ['full breakdown', [251, [6, 24, 240], ['PAL', 'CS', 'IP', 'EA']], [['PAL', 1], ['IP', 1], ['EA', 5]]], ['no each picking', [50, [6, 24, 0], ['CS', 'IP']], [['CS', 2], ['UNPICKABLE', 2]]], ['zero qty', [0, [6, 24, 240], ['EA']], []], ['generated mix 43', [120, [6, 24, 240], ['PAL', 'CS', 'EA']], [['CS', 5]]], ['generated mix 52', [50, [4, 48, 0], ['EA']], [['EA', 50]]]]]\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":"19b5223dba8f9017d06e9753453f1cd71394a3a75e37c5d97d756894cb23b666","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(qty, pack, allowed):\n    levels = [('PAL', pack[2]), ('CS', pack[1]), ('IP', pack[0]), ('EA', 1)]\n    rem = qty\n    out = []\n    for unit, size in levels:\n        if unit not in allowed or size <= 0:\n            continue\n        n = rem // size\n        if n:\n            out.append([unit, n])\n            rem -= n * size\n    if rem:\n        out.append(['UNPICKABLE', rem])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['full breakdown', [251, [6, 24, 240], ['PAL', 'CS', 'IP', 'EA']], [['PAL', 1], ['IP', 1], ['EA', 5]]], ['generated mix 4', [500, [4, 12, 120], ['PAL', 'CS', 'IP', 'EA']], [['PAL', 4], ['CS', 1], ['IP', 2]]], ['case and each', [50, [6, 24, 0], ['CS', 'EA']], [['CS', 2], ['EA', 2]]], ['undefined inner', [13, [0, 12, 0], ['IP', 'EA']], [['EA', 13]]], ['inner only', [13, [4, 12, 0], ['IP']], [['IP', 3], ['UNPICKABLE', 1]]], ['no each picking', [50, [6, 24, 0], ['CS', 'IP']], [['CS', 2], ['UNPICKABLE', 2]]], ['generated mix 7', [3, [4, 48, 480], ['PAL', 'CS', 'IP']], [['UNPICKABLE', 3]]], ['generated mix 15', [250, [4, 24, 480], ['PAL', 'IP', 'EA']], [['IP', 62], ['EA', 2]]]], [['generated mix 12', [500, [6, 24, 0], ['CS', 'IP', 'EA']], [['CS', 20], ['IP', 3], ['EA', 2]]], ['generated mix 28', [50, [4, 48, 0], ['PAL', 'CS', 'IP', 'EA']], [['CS', 1], ['EA', 2]]], ['undefined inner', [13, [0, 12, 0], ['IP', 'EA']], [['EA', 13]]], ['inner only', [13, [4, 12, 0], ['IP']], [['IP', 3], ['UNPICKABLE', 1]]], ['full breakdown', [251, [6, 24, 240], ['PAL', 'CS', 'IP', 'EA']], [['PAL', 1], ['IP', 1], ['EA', 5]]], ['no each picking', [50, [6, 24, 0], ['CS', 'IP']], [['CS', 2], ['UNPICKABLE', 2]]], ['generated mix 9', [250, [6, 48, 480], ['PAL', 'CS']], [['CS', 5], ['UNPICKABLE', 10]]], ['generated mix 18', [50, [0, 24, 240], ['CS']], [['CS', 2], ['UNPICKABLE', 2]]]], [['generated mix 25', [50, [6, 24, 0], ['PAL', 'CS', 'IP', 'EA']], [['CS', 2], ['EA', 2]]], ['generated mix 60', [500, [4, 48, 0], ['PAL', 'CS', 'IP']], [['CS', 10], ['IP', 5]]], ['pallet not allowed', [500, [6, 24, 240], ['CS', 'EA']], [['CS', 20], ['EA', 20]]], ['case and each', [50, [6, 24, 0], ['CS', 'EA']], [['CS', 2], ['EA', 2]]], ['undefined inner', [13, [0, 12, 0], ['IP', 'EA']], [['EA', 13]]], ['inner only', [13, [4, 12, 0], ['IP']], [['IP', 3], ['UNPICKABLE', 1]]], ['generated mix 20', [0, [6, 12, 0], ['PAL', 'CS', 'IP']], []], ['generated mix 29', [500, [4, 12, 0], ['CS', 'IP', 'EA']], [['CS', 41], ['IP', 2]]]], [['generated mix 36', [25, [4, 48, 0], ['PAL', 'CS', 'IP', 'EA']], [['IP', 6], ['EA', 1]]], ['generated mix 80', [50, [4, 12, 240], ['PAL', 'CS', 'IP', 'EA']], [['CS', 4], ['EA', 2]]], ['no each picking', [50, [6, 24, 0], ['CS', 'IP']], [['CS', 2], ['UNPICKABLE', 2]]], ['zero qty', [0, [6, 24, 240], ['EA']], []], ['pallet not allowed', [500, [6, 24, 240], ['CS', 'EA']], [['CS', 20], ['EA', 20]]], ['case and each', [50, [6, 24, 0], ['CS', 'EA']], [['CS', 2], ['EA', 2]]], ['generated mix 31', [500, [0, 48, 960], ['EA']], [['EA', 500]]], ['generated mix 40', [3, [4, 48, 480], ['IP']], [['UNPICKABLE', 3]]]], [['generated mix 48', [50, [6, 48, 0], ['CS', 'IP']], [['CS', 1], ['UNPICKABLE', 2]]], ['generated mix 12', [500, [6, 24, 0], ['CS', 'IP', 'EA']], [['CS', 20], ['IP', 3], ['EA', 2]]], ['inner only', [13, [4, 12, 0], ['IP']], [['IP', 3], ['UNPICKABLE', 1]]], ['full breakdown', [251, [6, 24, 240], ['PAL', 'CS', 'IP', 'EA']], [['PAL', 1], ['IP', 1], ['EA', 5]]], ['no each picking', [50, [6, 24, 0], ['CS', 'IP']], [['CS', 2], ['UNPICKABLE', 2]]], ['zero qty', [0, [6, 24, 240], ['EA']], []], ['generated mix 43', [120, [6, 24, 240], ['PAL', 'CS', 'EA']], [['CS', 5]]], ['generated mix 52', [50, [4, 48, 0], ['EA']], [['EA', 50]]]]]\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":"Greedy stipulated conversion with integer pack sizes. 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-uom-breakdown-unit-precedence","generated_at":"2026-09-29T14:52:12.030493+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Pick tasks are expressed in the largest unit a location can present.","repair":"Iterate units from pallet down to each.","root_cause":"The unit hierarchy is iterated smallest unit first.","sha256":"c34a64817b6ca59ef7cb050316722a6520a2af91681901e1369f9004ef1deee6","title":"UOM breakdown: eaches consumed first · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.776,"exit_code":1,"observations":[{"actual":[["PAL",1],["IP",1],["EA",5]],"check":"full breakdown","expected":[["PAL",1],["IP",1],["EA",5]],"passed":true},{"actual":[["PAL",4],["IP",5]],"check":"generated mix 4","expected":[["PAL",4],["CS",1],["IP",2]],"passed":false},{"actual":[["CS",2],["EA",2]],"check":"case and each","expected":[["CS",2],["EA",2]],"passed":true},{"actual":[["EA",13]],"check":"undefined inner","expected":[["EA",13]],"passed":true},{"actual":[["IP",3],["UNPICKABLE",1]],"check":"inner only","expected":[["IP",3],["UNPICKABLE",1]],"passed":true},{"actual":[["IP",8],["UNPICKABLE",2]],"check":"no each picking","expected":[["CS",2],["UNPICKABLE",2]],"passed":false},{"actual":[["UNPICKABLE",3]],"check":"generated mix 7","expected":[["UNPICKABLE",3]],"passed":true},{"actual":[["IP",62],["EA",2]],"check":"generated mix 15","expected":[["IP",62],["EA",2]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"full breakdown\", \"actual\": [[\"PAL\", 1], [\"IP\", 1], [\"EA\", 5]], \"expected\": [[\"PAL\", 1], [\"IP\", 1], [\"EA\", 5]], \"passed\": true}, {\"check\": \"generated mix 4\", \"actual\": [[\"PAL\", 4], [\"IP\", 5]], \"expected\": [[\"PAL\", 4], [\"CS\", 1], [\"IP\", 2]], \"passed\": false}, {\"check\": \"case and each\", \"actual\": [[\"CS\", 2], [\"EA\", 2]], \"expected\": [[\"CS\", 2], [\"EA\", 2]], \"passed\": true}, {\"check\": \"undefined inner\", \"actual\": [[\"EA\", 13]], \"expected\": [[\"EA\", 13]], \"passed\": true}, {\"check\": \"inner only\", \"actual\": [[\"IP\", 3], [\"UNPICKABLE\", 1]], \"expected\": [[\"IP\", 3], [\"UNPICKABLE\", 1]], \"passed\": true}, {\"check\": \"no each picking\", \"actual\": [[\"IP\", 8], [\"UNPICKABLE\", 2]], \"expected\": [[\"CS\", 2], [\"UNPICKABLE\", 2]], \"passed\": false}, {\"check\": \"generated mix 7\", \"actual\": [[\"UNPICKABLE\", 3]], \"expected\": [[\"UNPICKABLE\", 3]], \"passed\": true}, {\"check\": \"generated mix 15\", \"actual\": [[\"IP\", 62], [\"EA\", 2]], \"expected\": [[\"IP\", 62], [\"EA\", 2]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":37.857,"exit_code":1,"observations":[{"actual":[["EA",251]],"check":"full breakdown","expected":[["PAL",1],["IP",1],["EA",5]],"passed":false},{"actual":[["EA",500]],"check":"generated mix 4","expected":[["PAL",4],["CS",1],["IP",2]],"passed":false},{"actual":[["EA",50]],"check":"case and each","expected":[["CS",2],["EA",2]],"passed":false},{"actual":[["EA",13]],"check":"undefined inner","expected":[["EA",13]],"passed":true},{"actual":[["IP",3],["UNPICKABLE",1]],"check":"inner only","expected":[["IP",3],["UNPICKABLE",1]],"passed":true},{"actual":[["IP",8],["UNPICKABLE",2]],"check":"no each picking","expected":[["CS",2],["UNPICKABLE",2]],"passed":false},{"actual":[["UNPICKABLE",3]],"check":"generated mix 7","expected":[["UNPICKABLE",3]],"passed":true},{"actual":[["EA",250]],"check":"generated mix 15","expected":[["IP",62],["EA",2]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"full breakdown\", \"actual\": [[\"EA\", 251]], \"expected\": [[\"PAL\", 1], [\"IP\", 1], [\"EA\", 5]], \"passed\": false}, {\"check\": \"generated mix 4\", \"actual\": [[\"EA\", 500]], \"expected\": [[\"PAL\", 4], [\"CS\", 1], [\"IP\", 2]], \"passed\": false}, {\"check\": \"case and each\", \"actual\": [[\"EA\", 50]], \"expected\": [[\"CS\", 2], [\"EA\", 2]], \"passed\": false}, {\"check\": \"undefined inner\", \"actual\": [[\"EA\", 13]], \"expected\": [[\"EA\", 13]], \"passed\": true}, {\"check\": \"inner only\", \"actual\": [[\"IP\", 3], [\"UNPICKABLE\", 1]], \"expected\": [[\"IP\", 3], [\"UNPICKABLE\", 1]], \"passed\": true}, {\"check\": \"no each picking\", \"actual\": [[\"IP\", 8], [\"UNPICKABLE\", 2]], \"expected\": [[\"CS\", 2], [\"UNPICKABLE\", 2]], \"passed\": false}, {\"check\": \"generated mix 7\", \"actual\": [[\"UNPICKABLE\", 3]], \"expected\": [[\"UNPICKABLE\", 3]], \"passed\": true}, {\"check\": \"generated mix 15\", \"actual\": [[\"EA\", 250]], \"expected\": [[\"IP\", 62], [\"EA\", 2]], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.856,"exit_code":0,"observations":[{"actual":[["PAL",1],["IP",1],["EA",5]],"check":"full breakdown","expected":[["PAL",1],["IP",1],["EA",5]],"passed":true},{"actual":[["PAL",4],["CS",1],["IP",2]],"check":"generated mix 4","expected":[["PAL",4],["CS",1],["IP",2]],"passed":true},{"actual":[["CS",2],["EA",2]],"check":"case and each","expected":[["CS",2],["EA",2]],"passed":true},{"actual":[["EA",13]],"check":"undefined inner","expected":[["EA",13]],"passed":true},{"actual":[["IP",3],["UNPICKABLE",1]],"check":"inner only","expected":[["IP",3],["UNPICKABLE",1]],"passed":true},{"actual":[["CS",2],["UNPICKABLE",2]],"check":"no each picking","expected":[["CS",2],["UNPICKABLE",2]],"passed":true},{"actual":[["UNPICKABLE",3]],"check":"generated mix 7","expected":[["UNPICKABLE",3]],"passed":true},{"actual":[["IP",62],["EA",2]],"check":"generated mix 15","expected":[["IP",62],["EA",2]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"full breakdown\", \"actual\": [[\"PAL\", 1], [\"IP\", 1], [\"EA\", 5]], \"expected\": [[\"PAL\", 1], [\"IP\", 1], [\"EA\", 5]], \"passed\": true}, {\"check\": \"generated mix 4\", \"actual\": [[\"PAL\", 4], [\"CS\", 1], [\"IP\", 2]], \"expected\": [[\"PAL\", 4], [\"CS\", 1], [\"IP\", 2]], \"passed\": true}, {\"check\": \"case and each\", \"actual\": [[\"CS\", 2], [\"EA\", 2]], \"expected\": [[\"CS\", 2], [\"EA\", 2]], \"passed\": true}, {\"check\": \"undefined inner\", \"actual\": [[\"EA\", 13]], \"expected\": [[\"EA\", 13]], \"passed\": true}, {\"check\": \"inner only\", \"actual\": [[\"IP\", 3], [\"UNPICKABLE\", 1]], \"expected\": [[\"IP\", 3], [\"UNPICKABLE\", 1]], \"passed\": true}, {\"check\": \"no each picking\", \"actual\": [[\"CS\", 2], [\"UNPICKABLE\", 2]], \"expected\": [[\"CS\", 2], [\"UNPICKABLE\", 2]], \"passed\": true}, {\"check\": \"generated mix 7\", \"actual\": [[\"UNPICKABLE\", 3]], \"expected\": [[\"UNPICKABLE\", 3]], \"passed\": true}, {\"check\": \"generated mix 15\", \"actual\": [[\"IP\", 62], [\"EA\", 2]], \"expected\": [[\"IP\", 62], [\"EA\", 2]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}