{"abstract":"The increment layer absorbs units from every purchase even after the increment is satisfied.","category":"Inventory cost layering","checks":9,"contract":"Input {begin:[[qty,unit]] oldest first, purchases:[[qty,unit]] chronological, ending_qty}. Ending inventory keeps the oldest units: if ending_qty covers the base, all base layers stay and one increment layer is priced at the EARLIEST purchases of the year; otherwise the newest base layers are liquidated. ending_qty outside [0, available] returns {\"error\"}. Return {layers:[[qty,value]], ending_value, cogs}.","contract_signature":"x","evaluation_group":"w2-inventory-cost-layering-periodic-lifo-increment","failed_approach":"Capping each take at the total increment instead of the remaining increment still overfills when several purchases are used.","family":"w2-inventory-cost-layering-periodic-lifo-increment-increment-exhaustion-stop","id":"FA-59896","implementations":{"attempt":{"sha256":"1d41877bd0967c93a26cda96842a3f3491e36d2475da6704ce4c29acfec35f31","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    begin = [list(l) for l in x['begin']]\n    purchases = x['purchases']\n    end_q = x['ending_qty']\n    base_q = sum(l[0] for l in begin)\n    buy_q = sum(p[0] for p in purchases)\n    avail = base_q + buy_q\n    if end_q < 0 or end_q > avail:\n        return {'error': 'invalid ending quantity'}\n    layers = []\n    if end_q >= base_q:\n        layers = [[q, q * c] for q, c in begin]\n        inc = end_q - base_q\n        new_q = 0\n        new_v = 0\n        for q, c in purchases:\n            if inc == 0:\n                break\n            take = min(end_q - base_q, q)\n            new_q += take\n            new_v += take * c\n            inc -= take\n        if new_q > 0:\n            layers.append([new_q, new_v])\n    else:\n        rem = end_q\n        for bq, bc in begin:\n            take = min(rem, bq)\n            if take > 0:\n                layers.append([take, take * bc])\n            rem -= take\n    begin_value = sum(q * c for q, c in begin)\n    buy_value = sum(q * c for q, c in purchases)\n    ending_value = sum(v for q, v in layers)\n    return {'layers': layers, 'ending_value': ending_value, 'cogs': begin_value + buy_value - ending_value}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['increment layer', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7], [8, 10]], 'ending_qty': 18}, {'layers': [[10, 50], [4, 24], [4, 28]], 'ending_value': 102, 'cogs': 94}], ['liquidation', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7]], 'ending_qty': 10}, {'layers': [[10, 50]], 'ending_value': 50, 'cogs': 66}], ['deep liquidation', {'begin': [[3, 2], [3, 4], [3, 6]], 'purchases': [[2, 8]], 'ending_qty': 1}, {'layers': [[1, 2]], 'ending_value': 2, 'cogs': 50}], ['over available', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': 6}, {'error': 'invalid ending quantity'}], ['negative ending', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': -1}, {'error': 'invalid ending quantity'}], ['count of minus one', {'begin': [[3, 3]], 'purchases': [[3, 4]], 'ending_qty': -1}, {'error': 'invalid ending quantity'}], ['all sold', {'begin': [[5, 3]], 'purchases': [[5, 4]], 'ending_qty': 0}, {'layers': [], 'ending_value': 0, 'cogs': 35}], ['exact base', {'begin': [[4, 10]], 'purchases': [[1, 11], [2, 12]], 'ending_qty': 4}, {'layers': [[4, 40]], 'ending_value': 40, 'cogs': 35}], ['spans purchases', {'begin': [[2, 1]], 'purchases': [[2, 3], [5, 5]], 'ending_qty': 7}, {'layers': [[2, 2], [5, 21]], 'ending_value': 23, 'cogs': 10}]], [['increment layer', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7], [8, 11]], 'ending_qty': 19}, {'layers': [[10, 50], [4, 24], [5, 35]], 'ending_value': 109, 'cogs': 95}], ['liquidation', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7]], 'ending_qty': 11}, {'layers': [[10, 50], [1, 6]], 'ending_value': 56, 'cogs': 60}], ['deep liquidation', {'begin': [[3, 2], [3, 4], [3, 6]], 'purchases': [[2, 8]], 'ending_qty': 2}, {'layers': [[2, 4]], 'ending_value': 4, 'cogs': 48}], ['over available', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': 7}, {'error': 'invalid ending quantity'}], ['negative ending', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': -2}, {'error': 'invalid ending quantity'}], ['count of minus one', {'begin': [[4, 3]], 'purchases': [[3, 4]], 'ending_qty': -1}, {'error': 'invalid ending quantity'}], ['all sold', {'begin': [[5, 3]], 'purchases': [[5, 4]], 'ending_qty': 0}, {'layers': [], 'ending_value': 0, 'cogs': 35}], ['exact base', {'begin': [[4, 10]], 'purchases': [[2, 11], [2, 12]], 'ending_qty': 4}, {'layers': [[4, 40]], 'ending_value': 40, 'cogs': 46}], ['spans purchases', {'begin': [[2, 1]], 'purchases': [[2, 3], [5, 6]], 'ending_qty': 7}, {'layers': [[2, 2], [5, 24]], 'ending_value': 26, 'cogs': 12}]], [['increment layer', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7], [8, 12]], 'ending_qty': 17}, {'layers': [[10, 50], [4, 24], [3, 21]], 'ending_value': 95, 'cogs': 117}], ['liquidation', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7]], 'ending_qty': 10}, {'layers': [[10, 50]], 'ending_value': 50, 'cogs': 66}], ['deep liquidation', {'begin': [[3, 2], [3, 4], [3, 6]], 'purchases': [[2, 8]], 'ending_qty': 3}, {'layers': [[3, 6]], 'ending_value': 6, 'cogs': 46}], ['over available', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': 8}, {'error': 'invalid ending quantity'}], ['negative ending', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': -3}, {'error': 'invalid ending quantity'}], ['count of minus one', {'begin': [[5, 3]], 'purchases': [[3, 4]], 'ending_qty': -1}, {'error': 'invalid ending quantity'}], ['all sold', {'begin': [[5, 3]], 'purchases': [[5, 4]], 'ending_qty': 0}, {'layers': [], 'ending_value': 0, 'cogs': 35}], ['exact base', {'begin': [[4, 10]], 'purchases': [[3, 11], [2, 12]], 'ending_qty': 4}, {'layers': [[4, 40]], 'ending_value': 40, 'cogs': 57}], ['spans purchases', {'begin': [[2, 1]], 'purchases': [[2, 3], [5, 7]], 'ending_qty': 7}, {'layers': [[2, 2], [5, 27]], 'ending_value': 29, 'cogs': 14}]], [['increment layer', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7], [8, 13]], 'ending_qty': 18}, {'layers': [[10, 50], [4, 24], [4, 28]], 'ending_value': 102, 'cogs': 118}], ['liquidation', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7]], 'ending_qty': 11}, {'layers': [[10, 50], [1, 6]], 'ending_value': 56, 'cogs': 60}], ['deep liquidation', {'begin': [[3, 2], [3, 4], [3, 6]], 'purchases': [[2, 8]], 'ending_qty': 4}, {'layers': [[3, 6], [1, 4]], 'ending_value': 10, 'cogs': 42}], ['over available', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': 9}, {'error': 'invalid ending quantity'}], ['negative ending', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': -4}, {'error': 'invalid ending quantity'}], ['count of minus one', {'begin': [[6, 3]], 'purchases': [[3, 4]], 'ending_qty': -1}, {'error': 'invalid ending quantity'}], ['all sold', {'begin': [[5, 3]], 'purchases': [[5, 4]], 'ending_qty': 0}, {'layers': [], 'ending_value': 0, 'cogs': 35}], ['exact base', {'begin': [[4, 10]], 'purchases': [[4, 11], [2, 12]], 'ending_qty': 4}, {'layers': [[4, 40]], 'ending_value': 40, 'cogs': 68}], ['spans purchases', {'begin': [[2, 1]], 'purchases': [[2, 3], [5, 8]], 'ending_qty': 7}, {'layers': [[2, 2], [5, 30]], 'ending_value': 32, 'cogs': 16}]], [['increment layer', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7], [8, 14]], 'ending_qty': 19}, {'layers': [[10, 50], [4, 24], [5, 35]], 'ending_value': 109, 'cogs': 119}], ['liquidation', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7]], 'ending_qty': 10}, {'layers': [[10, 50]], 'ending_value': 50, 'cogs': 66}], ['deep liquidation', {'begin': [[3, 2], [3, 4], [3, 6]], 'purchases': [[2, 8]], 'ending_qty': 5}, {'layers': [[3, 6], [2, 8]], 'ending_value': 14, 'cogs': 38}], ['over available', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': 10}, {'error': 'invalid ending quantity'}], ['negative ending', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': -5}, {'error': 'invalid ending quantity'}], ['count of minus one', {'begin': [[7, 3]], 'purchases': [[3, 4]], 'ending_qty': -1}, {'error': 'invalid ending quantity'}], ['all sold', {'begin': [[5, 3]], 'purchases': [[5, 4]], 'ending_qty': 0}, {'layers': [], 'ending_value': 0, 'cogs': 35}], ['exact base', {'begin': [[4, 10]], 'purchases': [[5, 11], [2, 12]], 'ending_qty': 4}, {'layers': [[4, 40]], 'ending_value': 40, 'cogs': 79}], ['spans purchases', {'begin': [[2, 1]], 'purchases': [[2, 3], [5, 9]], 'ending_qty': 7}, {'layers': [[2, 2], [5, 33]], 'ending_value': 35, 'cogs': 18}]]]\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":"ec73a5793e7feb836deacc59434bf22b69615678a81d0d8c39dbd2d53c7c501e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    begin = [list(l) for l in x['begin']]\n    purchases = x['purchases']\n    end_q = x['ending_qty']\n    base_q = sum(l[0] for l in begin)\n    buy_q = sum(p[0] for p in purchases)\n    avail = base_q + buy_q\n    if end_q < 0 or end_q > avail:\n        return {'error': 'invalid ending quantity'}\n    layers = []\n    if end_q >= base_q:\n        layers = [[q, q * c] for q, c in begin]\n        inc = end_q - base_q\n        new_q = 0\n        new_v = 0\n        for q, c in purchases:\n            if inc == 0:\n                break\n            take = q\n            new_q += take\n            new_v += take * c\n            inc -= take\n        if new_q > 0:\n            layers.append([new_q, new_v])\n    else:\n        rem = end_q\n        for bq, bc in begin:\n            take = min(rem, bq)\n            if take > 0:\n                layers.append([take, take * bc])\n            rem -= take\n    begin_value = sum(q * c for q, c in begin)\n    buy_value = sum(q * c for q, c in purchases)\n    ending_value = sum(v for q, v in layers)\n    return {'layers': layers, 'ending_value': ending_value, 'cogs': begin_value + buy_value - ending_value}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['increment layer', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7], [8, 10]], 'ending_qty': 18}, {'layers': [[10, 50], [4, 24], [4, 28]], 'ending_value': 102, 'cogs': 94}], ['liquidation', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7]], 'ending_qty': 10}, {'layers': [[10, 50]], 'ending_value': 50, 'cogs': 66}], ['deep liquidation', {'begin': [[3, 2], [3, 4], [3, 6]], 'purchases': [[2, 8]], 'ending_qty': 1}, {'layers': [[1, 2]], 'ending_value': 2, 'cogs': 50}], ['over available', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': 6}, {'error': 'invalid ending quantity'}], ['negative ending', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': -1}, {'error': 'invalid ending quantity'}], ['count of minus one', {'begin': [[3, 3]], 'purchases': [[3, 4]], 'ending_qty': -1}, {'error': 'invalid ending quantity'}], ['all sold', {'begin': [[5, 3]], 'purchases': [[5, 4]], 'ending_qty': 0}, {'layers': [], 'ending_value': 0, 'cogs': 35}], ['exact base', {'begin': [[4, 10]], 'purchases': [[1, 11], [2, 12]], 'ending_qty': 4}, {'layers': [[4, 40]], 'ending_value': 40, 'cogs': 35}], ['spans purchases', {'begin': [[2, 1]], 'purchases': [[2, 3], [5, 5]], 'ending_qty': 7}, {'layers': [[2, 2], [5, 21]], 'ending_value': 23, 'cogs': 10}]], [['increment layer', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7], [8, 11]], 'ending_qty': 19}, {'layers': [[10, 50], [4, 24], [5, 35]], 'ending_value': 109, 'cogs': 95}], ['liquidation', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7]], 'ending_qty': 11}, {'layers': [[10, 50], [1, 6]], 'ending_value': 56, 'cogs': 60}], ['deep liquidation', {'begin': [[3, 2], [3, 4], [3, 6]], 'purchases': [[2, 8]], 'ending_qty': 2}, {'layers': [[2, 4]], 'ending_value': 4, 'cogs': 48}], ['over available', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': 7}, {'error': 'invalid ending quantity'}], ['negative ending', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': -2}, {'error': 'invalid ending quantity'}], ['count of minus one', {'begin': [[4, 3]], 'purchases': [[3, 4]], 'ending_qty': -1}, {'error': 'invalid ending quantity'}], ['all sold', {'begin': [[5, 3]], 'purchases': [[5, 4]], 'ending_qty': 0}, {'layers': [], 'ending_value': 0, 'cogs': 35}], ['exact base', {'begin': [[4, 10]], 'purchases': [[2, 11], [2, 12]], 'ending_qty': 4}, {'layers': [[4, 40]], 'ending_value': 40, 'cogs': 46}], ['spans purchases', {'begin': [[2, 1]], 'purchases': [[2, 3], [5, 6]], 'ending_qty': 7}, {'layers': [[2, 2], [5, 24]], 'ending_value': 26, 'cogs': 12}]], [['increment layer', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7], [8, 12]], 'ending_qty': 17}, {'layers': [[10, 50], [4, 24], [3, 21]], 'ending_value': 95, 'cogs': 117}], ['liquidation', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7]], 'ending_qty': 10}, {'layers': [[10, 50]], 'ending_value': 50, 'cogs': 66}], ['deep liquidation', {'begin': [[3, 2], [3, 4], [3, 6]], 'purchases': [[2, 8]], 'ending_qty': 3}, {'layers': [[3, 6]], 'ending_value': 6, 'cogs': 46}], ['over available', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': 8}, {'error': 'invalid ending quantity'}], ['negative ending', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': -3}, {'error': 'invalid ending quantity'}], ['count of minus one', {'begin': [[5, 3]], 'purchases': [[3, 4]], 'ending_qty': -1}, {'error': 'invalid ending quantity'}], ['all sold', {'begin': [[5, 3]], 'purchases': [[5, 4]], 'ending_qty': 0}, {'layers': [], 'ending_value': 0, 'cogs': 35}], ['exact base', {'begin': [[4, 10]], 'purchases': [[3, 11], [2, 12]], 'ending_qty': 4}, {'layers': [[4, 40]], 'ending_value': 40, 'cogs': 57}], ['spans purchases', {'begin': [[2, 1]], 'purchases': [[2, 3], [5, 7]], 'ending_qty': 7}, {'layers': [[2, 2], [5, 27]], 'ending_value': 29, 'cogs': 14}]], [['increment layer', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7], [8, 13]], 'ending_qty': 18}, {'layers': [[10, 50], [4, 24], [4, 28]], 'ending_value': 102, 'cogs': 118}], ['liquidation', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7]], 'ending_qty': 11}, {'layers': [[10, 50], [1, 6]], 'ending_value': 56, 'cogs': 60}], ['deep liquidation', {'begin': [[3, 2], [3, 4], [3, 6]], 'purchases': [[2, 8]], 'ending_qty': 4}, {'layers': [[3, 6], [1, 4]], 'ending_value': 10, 'cogs': 42}], ['over available', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': 9}, {'error': 'invalid ending quantity'}], ['negative ending', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': -4}, {'error': 'invalid ending quantity'}], ['count of minus one', {'begin': [[6, 3]], 'purchases': [[3, 4]], 'ending_qty': -1}, {'error': 'invalid ending quantity'}], ['all sold', {'begin': [[5, 3]], 'purchases': [[5, 4]], 'ending_qty': 0}, {'layers': [], 'ending_value': 0, 'cogs': 35}], ['exact base', {'begin': [[4, 10]], 'purchases': [[4, 11], [2, 12]], 'ending_qty': 4}, {'layers': [[4, 40]], 'ending_value': 40, 'cogs': 68}], ['spans purchases', {'begin': [[2, 1]], 'purchases': [[2, 3], [5, 8]], 'ending_qty': 7}, {'layers': [[2, 2], [5, 30]], 'ending_value': 32, 'cogs': 16}]], [['increment layer', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7], [8, 14]], 'ending_qty': 19}, {'layers': [[10, 50], [4, 24], [5, 35]], 'ending_value': 109, 'cogs': 119}], ['liquidation', {'begin': [[10, 5], [4, 6]], 'purchases': [[6, 7]], 'ending_qty': 10}, {'layers': [[10, 50]], 'ending_value': 50, 'cogs': 66}], ['deep liquidation', {'begin': [[3, 2], [3, 4], [3, 6]], 'purchases': [[2, 8]], 'ending_qty': 5}, {'layers': [[3, 6], [2, 8]], 'ending_value': 14, 'cogs': 38}], ['over available', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': 10}, {'error': 'invalid ending quantity'}], ['negative ending', {'begin': [[2, 3]], 'purchases': [[3, 4]], 'ending_qty': -5}, {'error': 'invalid ending quantity'}], ['count of minus one', {'begin': [[7, 3]], 'purchases': [[3, 4]], 'ending_qty': -1}, {'error': 'invalid ending quantity'}], ['all sold', {'begin': [[5, 3]], 'purchases': [[5, 4]], 'ending_qty': 0}, {'layers': [], 'ending_value': 0, 'cogs': 35}], ['exact base', {'begin': [[4, 10]], 'purchases': [[5, 11], [2, 12]], 'ending_qty': 4}, {'layers': [[4, 40]], 'ending_value': 40, 'cogs': 79}], ['spans purchases', {'begin': [[2, 1]], 'purchases': [[2, 3], [5, 9]], 'ending_qty': 7}, {'layers': [[2, 2], [5, 33]], 'ending_value': 35, 'cogs': 18}]]]\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":"Stipulated bounded teaching model with explicit toy rules; not an accounting-standard implementation. 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-inventory-cost-layering-periodic-lifo-increment-increment-exhaustion-stop","generated_at":"2026-09-29T14:46:40.590626+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Inventory valuation and cost-of-goods decisions depend on this rule.","root_cause":"The purchase walk stops only when the purchase list ends, and the per-purchase take ignores the remaining increment.","sha256":"ec9fc35881fc3c780b1a3a74f5afd6609f1beef62f1b804a27812b869720daeb","title":"Periodic LIFO year-end layering: increment exhaustion stop · 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":40.312,"exit_code":1,"observations":[{"actual":{"cogs":94,"ending_value":102,"layers":[[10,50],[4,24],[4,28]]},"check":"increment layer","expected":{"cogs":94,"ending_value":102,"layers":[[10,50],[4,24],[4,28]]},"passed":true},{"actual":{"cogs":66,"ending_value":50,"layers":[[10,50]]},"check":"liquidation","expected":{"cogs":66,"ending_value":50,"layers":[[10,50]]},"passed":true},{"actual":{"cogs":50,"ending_value":2,"layers":[[1,2]]},"check":"deep liquidation","expected":{"cogs":50,"ending_value":2,"layers":[[1,2]]},"passed":true},{"actual":{"error":"invalid ending quantity"},"check":"over available","expected":{"error":"invalid ending quantity"},"passed":true},{"actual":{"error":"invalid ending quantity"},"check":"negative ending","expected":{"error":"invalid ending quantity"},"passed":true},{"actual":{"error":"invalid ending quantity"},"check":"count of minus one","expected":{"error":"invalid ending quantity"},"passed":true},{"actual":{"cogs":35,"ending_value":0,"layers":[]},"check":"all sold","expected":{"cogs":35,"ending_value":0,"layers":[]},"passed":true},{"actual":{"cogs":35,"ending_value":40,"layers":[[4,40]]},"check":"exact base","expected":{"cogs":35,"ending_value":40,"layers":[[4,40]]},"passed":true},{"actual":{"cogs":0,"ending_value":33,"layers":[[2,2],[7,31]]},"check":"spans purchases","expected":{"cogs":10,"ending_value":23,"layers":[[2,2],[5,21]]},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"increment layer\", \"actual\": {\"layers\": [[10, 50], [4, 24], [4, 28]], \"ending_value\": 102, \"cogs\": 94}, \"expected\": {\"layers\": [[10, 50], [4, 24], [4, 28]], \"ending_value\": 102, \"cogs\": 94}, \"passed\": true}, {\"check\": \"liquidation\", \"actual\": {\"layers\": [[10, 50]], \"ending_value\": 50, \"cogs\": 66}, \"expected\": {\"layers\": [[10, 50]], \"ending_value\": 50, \"cogs\": 66}, \"passed\": true}, {\"check\": \"deep liquidation\", \"actual\": {\"layers\": [[1, 2]], \"ending_value\": 2, \"cogs\": 50}, \"expected\": {\"layers\": [[1, 2]], \"ending_value\": 2, \"cogs\": 50}, \"passed\": true}, {\"check\": \"over available\", \"actual\": {\"error\": \"invalid ending quantity\"}, \"expected\": {\"error\": \"invalid ending quantity\"}, \"passed\": true}, {\"check\": \"negative ending\", \"actual\": {\"error\": \"invalid ending quantity\"}, \"expected\": {\"error\": \"invalid ending quantity\"}, \"passed\": true}, {\"check\": \"count of minus one\", \"actual\": {\"error\": \"invalid ending quantity\"}, \"expected\": {\"error\": \"invalid ending quantity\"}, \"passed\": true}, {\"check\": \"all sold\", \"actual\": {\"layers\": [], \"ending_value\": 0, \"cogs\": 35}, \"expected\": {\"layers\": [], \"ending_value\": 0, \"cogs\": 35}, \"passed\": true}, {\"check\": \"exact base\", \"actual\": {\"layers\": [[4, 40]], \"ending_value\": 40, \"cogs\": 35}, \"expected\": {\"layers\": [[4, 40]], \"ending_value\": 40, \"cogs\": 35}, \"passed\": true}, {\"check\": \"spans purchases\", \"actual\": {\"layers\": [[2, 2], [7, 31]], \"ending_value\": 33, \"cogs\": 0}, \"expected\": {\"layers\": [[2, 2], [5, 21]], \"ending_value\": 23, \"cogs\": 10}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.996,"exit_code":1,"observations":[{"actual":{"cogs":0,"ending_value":196,"layers":[[10,50],[4,24],[14,122]]},"check":"increment layer","expected":{"cogs":94,"ending_value":102,"layers":[[10,50],[4,24],[4,28]]},"passed":false},{"actual":{"cogs":66,"ending_value":50,"layers":[[10,50]]},"check":"liquidation","expected":{"cogs":66,"ending_value":50,"layers":[[10,50]]},"passed":true},{"actual":{"cogs":50,"ending_value":2,"layers":[[1,2]]},"check":"deep liquidation","expected":{"cogs":50,"ending_value":2,"layers":[[1,2]]},"passed":true},{"actual":{"error":"invalid ending quantity"},"check":"over available","expected":{"error":"invalid ending quantity"},"passed":true},{"actual":{"error":"invalid ending quantity"},"check":"negative ending","expected":{"error":"invalid ending quantity"},"passed":true},{"actual":{"error":"invalid ending quantity"},"check":"count of minus one","expected":{"error":"invalid ending quantity"},"passed":true},{"actual":{"cogs":35,"ending_value":0,"layers":[]},"check":"all sold","expected":{"cogs":35,"ending_value":0,"layers":[]},"passed":true},{"actual":{"cogs":35,"ending_value":40,"layers":[[4,40]]},"check":"exact base","expected":{"cogs":35,"ending_value":40,"layers":[[4,40]]},"passed":true},{"actual":{"cogs":0,"ending_value":33,"layers":[[2,2],[7,31]]},"check":"spans purchases","expected":{"cogs":10,"ending_value":23,"layers":[[2,2],[5,21]]},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"increment layer\", \"actual\": {\"layers\": [[10, 50], [4, 24], [14, 122]], \"ending_value\": 196, \"cogs\": 0}, \"expected\": {\"layers\": [[10, 50], [4, 24], [4, 28]], \"ending_value\": 102, \"cogs\": 94}, \"passed\": false}, {\"check\": \"liquidation\", \"actual\": {\"layers\": [[10, 50]], \"ending_value\": 50, \"cogs\": 66}, \"expected\": {\"layers\": [[10, 50]], \"ending_value\": 50, \"cogs\": 66}, \"passed\": true}, {\"check\": \"deep liquidation\", \"actual\": {\"layers\": [[1, 2]], \"ending_value\": 2, \"cogs\": 50}, \"expected\": {\"layers\": [[1, 2]], \"ending_value\": 2, \"cogs\": 50}, \"passed\": true}, {\"check\": \"over available\", \"actual\": {\"error\": \"invalid ending quantity\"}, \"expected\": {\"error\": \"invalid ending quantity\"}, \"passed\": true}, {\"check\": \"negative ending\", \"actual\": {\"error\": \"invalid ending quantity\"}, \"expected\": {\"error\": \"invalid ending quantity\"}, \"passed\": true}, {\"check\": \"count of minus one\", \"actual\": {\"error\": \"invalid ending quantity\"}, \"expected\": {\"error\": \"invalid ending quantity\"}, \"passed\": true}, {\"check\": \"all sold\", \"actual\": {\"layers\": [], \"ending_value\": 0, \"cogs\": 35}, \"expected\": {\"layers\": [], \"ending_value\": 0, \"cogs\": 35}, \"passed\": true}, {\"check\": \"exact base\", \"actual\": {\"layers\": [[4, 40]], \"ending_value\": 40, \"cogs\": 35}, \"expected\": {\"layers\": [[4, 40]], \"ending_value\": 40, \"cogs\": 35}, \"passed\": true}, {\"check\": \"spans purchases\", \"actual\": {\"layers\": [[2, 2], [7, 31]], \"ending_value\": 33, \"cogs\": 0}, \"expected\": {\"layers\": [[2, 2], [5, 21]], \"ending_value\": 23, \"cogs\": 10}, \"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."}}