{"abstract":"A layer stripped to exactly zero stays in the layer list as an empty year.","category":"Inventory cost layering","checks":7,"contract":"Input {layers:[[year, base_dollars, index_bp]] oldest first, year, ending_current_cost, index (bp, 10000 = base year)}. Ending base dollars = round-half-up(current cost*10000/index). An increase over the prior base total adds one layer at the current index; a decrease strips base dollars from the newest layers first, removing layers that reach zero. LIFO value = sum of round-half-up(base*index/10000) per layer. Return {end_base, layers, lifo_value}.","evaluation_group":"w2-inventory-cost-layering-dollar-value-lifo","failed_approach":"Also removing layers that were already zero does not help because the equal case still leaves a zero layer.","family":"w2-inventory-cost-layering-dollar-value-lifo-exact-layer-exhaustion","id":"FA-60046","implementations":{"attempt":{"sha256":"801ec31f7c0cd3cf46dd0871fb953d1a2378a9cd84792013effee3239215c11e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    layers = [list(l) for l in x['layers']]\n    idx = x['index']\n    end_base = (2 * x['ending_current_cost'] * 10000 + idx) // (2 * idx)\n    prev = sum(l[1] for l in layers)\n    if end_base > prev:\n        layers.append([x['year'], end_base - prev, idx])\n    else:\n        cut = prev - end_base\n        while cut > 0 and layers:\n            k = -1\n            top = layers[k]\n            if top[1] < cut or top[1] == 0:\n                cut -= top[1]\n                layers.pop(k)\n            else:\n                top[1] -= cut\n                cut = 0\n    value = sum((b * i + 5000) // 10000 for _, b, i in layers)\n    return {'end_base': end_base, 'layers': layers, 'lifo_value': value}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['new layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 15100, 'index': 11500}, {'end_base': 13130, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1130, 11500]], 'lifo_value': 13460}], ['partial strip', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 12651, 'index': 11500}, {'end_base': 11001, 'layers': [[2020, 10000, 10000], [2021, 1001, 10800]], 'lifo_value': 11081}], ['strip exact layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1001, 11000]], 'year': 2023, 'ending_current_cost': 14400, 'index': 12000}, {'end_base': 12000, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'lifo_value': 12160}], ['strip two layers', {'layers': [[2020, 5000, 10000], [2021, 1000, 10500], [2022, 1000, 12500]], 'year': 2023, 'ending_current_cost': 5201, 'index': 10400}, {'end_base': 5001, 'layers': [[2020, 5000, 10000], [2021, 1, 10500]], 'lifo_value': 5001}], ['unchanged base', {'layers': [[2020, 8000, 10000]], 'year': 2021, 'ending_current_cost': 8800, 'index': 11000}, {'end_base': 8000, 'layers': [[2020, 8000, 10000]], 'lifo_value': 8000}], ['rounding layers', {'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000]], 'year': 2023, 'ending_current_cost': 1051, 'index': 10300}, {'end_base': 1020, 'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 10, 10300]], 'lifo_value': 1022}], ['deflation', {'layers': [[2020, 3000, 10000]], 'year': 2021, 'ending_current_cost': 3001, 'index': 9500}, {'end_base': 3159, 'layers': [[2020, 3000, 10000], [2021, 159, 9500]], 'lifo_value': 3151}]], [['new layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 15200, 'index': 11500}, {'end_base': 13217, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1217, 11500]], 'lifo_value': 13560}], ['partial strip', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 12652, 'index': 11500}, {'end_base': 11002, 'layers': [[2020, 10000, 10000], [2021, 1002, 10800]], 'lifo_value': 11082}], ['strip exact layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1002, 11000]], 'year': 2023, 'ending_current_cost': 14400, 'index': 12000}, {'end_base': 12000, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'lifo_value': 12160}], ['strip two layers', {'layers': [[2020, 5000, 10000], [2021, 1000, 10500], [2022, 1000, 12500]], 'year': 2023, 'ending_current_cost': 5202, 'index': 10400}, {'end_base': 5002, 'layers': [[2020, 5000, 10000], [2021, 2, 10500]], 'lifo_value': 5002}], ['unchanged base', {'layers': [[2020, 8000, 10000]], 'year': 2021, 'ending_current_cost': 8800, 'index': 11000}, {'end_base': 8000, 'layers': [[2020, 8000, 10000]], 'lifo_value': 8000}], ['rounding layers', {'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000]], 'year': 2023, 'ending_current_cost': 1062, 'index': 10300}, {'end_base': 1031, 'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 21, 10300]], 'lifo_value': 1034}], ['deflation', {'layers': [[2020, 3000, 10000]], 'year': 2021, 'ending_current_cost': 3002, 'index': 9500}, {'end_base': 3160, 'layers': [[2020, 3000, 10000], [2021, 160, 9500]], 'lifo_value': 3152}]], [['new layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 15300, 'index': 11500}, {'end_base': 13304, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1304, 11500]], 'lifo_value': 13660}], ['partial strip', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 12653, 'index': 11500}, {'end_base': 11003, 'layers': [[2020, 10000, 10000], [2021, 1003, 10800]], 'lifo_value': 11083}], ['strip exact layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1003, 11000]], 'year': 2023, 'ending_current_cost': 14400, 'index': 12000}, {'end_base': 12000, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'lifo_value': 12160}], ['strip two layers', {'layers': [[2020, 5000, 10000], [2021, 1000, 10500], [2022, 1000, 12500]], 'year': 2023, 'ending_current_cost': 5203, 'index': 10400}, {'end_base': 5003, 'layers': [[2020, 5000, 10000], [2021, 3, 10500]], 'lifo_value': 5003}], ['unchanged base', {'layers': [[2020, 8000, 10000]], 'year': 2021, 'ending_current_cost': 8800, 'index': 11000}, {'end_base': 8000, 'layers': [[2020, 8000, 10000]], 'lifo_value': 8000}], ['rounding layers', {'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000]], 'year': 2023, 'ending_current_cost': 1073, 'index': 10300}, {'end_base': 1042, 'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 32, 10300]], 'lifo_value': 1045}], ['deflation', {'layers': [[2020, 3000, 10000]], 'year': 2021, 'ending_current_cost': 3003, 'index': 9500}, {'end_base': 3161, 'layers': [[2020, 3000, 10000], [2021, 161, 9500]], 'lifo_value': 3153}]], [['new layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 15400, 'index': 11500}, {'end_base': 13391, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1391, 11500]], 'lifo_value': 13760}], ['partial strip', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 12654, 'index': 11500}, {'end_base': 11003, 'layers': [[2020, 10000, 10000], [2021, 1003, 10800]], 'lifo_value': 11083}], ['strip exact layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1004, 11000]], 'year': 2023, 'ending_current_cost': 14400, 'index': 12000}, {'end_base': 12000, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'lifo_value': 12160}], ['strip two layers', {'layers': [[2020, 5000, 10000], [2021, 1000, 10500], [2022, 1000, 12500]], 'year': 2023, 'ending_current_cost': 5204, 'index': 10400}, {'end_base': 5004, 'layers': [[2020, 5000, 10000], [2021, 4, 10500]], 'lifo_value': 5004}], ['unchanged base', {'layers': [[2020, 8000, 10000]], 'year': 2021, 'ending_current_cost': 8800, 'index': 11000}, {'end_base': 8000, 'layers': [[2020, 8000, 10000]], 'lifo_value': 8000}], ['rounding layers', {'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000]], 'year': 2023, 'ending_current_cost': 1084, 'index': 10300}, {'end_base': 1052, 'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 42, 10300]], 'lifo_value': 1055}], ['deflation', {'layers': [[2020, 3000, 10000]], 'year': 2021, 'ending_current_cost': 3004, 'index': 9500}, {'end_base': 3162, 'layers': [[2020, 3000, 10000], [2021, 162, 9500]], 'lifo_value': 3154}]], [['new layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 15500, 'index': 11500}, {'end_base': 13478, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1478, 11500]], 'lifo_value': 13860}], ['partial strip', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 12655, 'index': 11500}, {'end_base': 11004, 'layers': [[2020, 10000, 10000], [2021, 1004, 10800]], 'lifo_value': 11084}], ['strip exact layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1005, 11000]], 'year': 2023, 'ending_current_cost': 14400, 'index': 12000}, {'end_base': 12000, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'lifo_value': 12160}], ['strip two layers', {'layers': [[2020, 5000, 10000], [2021, 1000, 10500], [2022, 1000, 12500]], 'year': 2023, 'ending_current_cost': 5205, 'index': 10400}, {'end_base': 5005, 'layers': [[2020, 5000, 10000], [2021, 5, 10500]], 'lifo_value': 5005}], ['unchanged base', {'layers': [[2020, 8000, 10000]], 'year': 2021, 'ending_current_cost': 8800, 'index': 11000}, {'end_base': 8000, 'layers': [[2020, 8000, 10000]], 'lifo_value': 8000}], ['rounding layers', {'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000]], 'year': 2023, 'ending_current_cost': 1095, 'index': 10300}, {'end_base': 1063, 'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 53, 10300]], 'lifo_value': 1067}], ['deflation', {'layers': [[2020, 3000, 10000]], 'year': 2021, 'ending_current_cost': 3005, 'index': 9500}, {'end_base': 3163, 'layers': [[2020, 3000, 10000], [2021, 163, 9500]], 'lifo_value': 3155}]]]\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":"cfe21f5a83818b43a08f6b9c93a3c2f152af44d34814e5361fbfc0d828c72b58","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    layers = [list(l) for l in x['layers']]\n    idx = x['index']\n    end_base = (2 * x['ending_current_cost'] * 10000 + idx) // (2 * idx)\n    prev = sum(l[1] for l in layers)\n    if end_base > prev:\n        layers.append([x['year'], end_base - prev, idx])\n    else:\n        cut = prev - end_base\n        while cut > 0 and layers:\n            k = -1\n            top = layers[k]\n            if top[1] < cut:\n                cut -= top[1]\n                layers.pop(k)\n            else:\n                top[1] -= cut\n                cut = 0\n    value = sum((b * i + 5000) // 10000 for _, b, i in layers)\n    return {'end_base': end_base, 'layers': layers, 'lifo_value': value}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['new layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 15100, 'index': 11500}, {'end_base': 13130, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1130, 11500]], 'lifo_value': 13460}], ['partial strip', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 12651, 'index': 11500}, {'end_base': 11001, 'layers': [[2020, 10000, 10000], [2021, 1001, 10800]], 'lifo_value': 11081}], ['strip exact layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1001, 11000]], 'year': 2023, 'ending_current_cost': 14400, 'index': 12000}, {'end_base': 12000, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'lifo_value': 12160}], ['strip two layers', {'layers': [[2020, 5000, 10000], [2021, 1000, 10500], [2022, 1000, 12500]], 'year': 2023, 'ending_current_cost': 5201, 'index': 10400}, {'end_base': 5001, 'layers': [[2020, 5000, 10000], [2021, 1, 10500]], 'lifo_value': 5001}], ['unchanged base', {'layers': [[2020, 8000, 10000]], 'year': 2021, 'ending_current_cost': 8800, 'index': 11000}, {'end_base': 8000, 'layers': [[2020, 8000, 10000]], 'lifo_value': 8000}], ['rounding layers', {'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000]], 'year': 2023, 'ending_current_cost': 1051, 'index': 10300}, {'end_base': 1020, 'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 10, 10300]], 'lifo_value': 1022}], ['deflation', {'layers': [[2020, 3000, 10000]], 'year': 2021, 'ending_current_cost': 3001, 'index': 9500}, {'end_base': 3159, 'layers': [[2020, 3000, 10000], [2021, 159, 9500]], 'lifo_value': 3151}]], [['new layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 15200, 'index': 11500}, {'end_base': 13217, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1217, 11500]], 'lifo_value': 13560}], ['partial strip', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 12652, 'index': 11500}, {'end_base': 11002, 'layers': [[2020, 10000, 10000], [2021, 1002, 10800]], 'lifo_value': 11082}], ['strip exact layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1002, 11000]], 'year': 2023, 'ending_current_cost': 14400, 'index': 12000}, {'end_base': 12000, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'lifo_value': 12160}], ['strip two layers', {'layers': [[2020, 5000, 10000], [2021, 1000, 10500], [2022, 1000, 12500]], 'year': 2023, 'ending_current_cost': 5202, 'index': 10400}, {'end_base': 5002, 'layers': [[2020, 5000, 10000], [2021, 2, 10500]], 'lifo_value': 5002}], ['unchanged base', {'layers': [[2020, 8000, 10000]], 'year': 2021, 'ending_current_cost': 8800, 'index': 11000}, {'end_base': 8000, 'layers': [[2020, 8000, 10000]], 'lifo_value': 8000}], ['rounding layers', {'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000]], 'year': 2023, 'ending_current_cost': 1062, 'index': 10300}, {'end_base': 1031, 'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 21, 10300]], 'lifo_value': 1034}], ['deflation', {'layers': [[2020, 3000, 10000]], 'year': 2021, 'ending_current_cost': 3002, 'index': 9500}, {'end_base': 3160, 'layers': [[2020, 3000, 10000], [2021, 160, 9500]], 'lifo_value': 3152}]], [['new layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 15300, 'index': 11500}, {'end_base': 13304, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1304, 11500]], 'lifo_value': 13660}], ['partial strip', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 12653, 'index': 11500}, {'end_base': 11003, 'layers': [[2020, 10000, 10000], [2021, 1003, 10800]], 'lifo_value': 11083}], ['strip exact layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1003, 11000]], 'year': 2023, 'ending_current_cost': 14400, 'index': 12000}, {'end_base': 12000, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'lifo_value': 12160}], ['strip two layers', {'layers': [[2020, 5000, 10000], [2021, 1000, 10500], [2022, 1000, 12500]], 'year': 2023, 'ending_current_cost': 5203, 'index': 10400}, {'end_base': 5003, 'layers': [[2020, 5000, 10000], [2021, 3, 10500]], 'lifo_value': 5003}], ['unchanged base', {'layers': [[2020, 8000, 10000]], 'year': 2021, 'ending_current_cost': 8800, 'index': 11000}, {'end_base': 8000, 'layers': [[2020, 8000, 10000]], 'lifo_value': 8000}], ['rounding layers', {'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000]], 'year': 2023, 'ending_current_cost': 1073, 'index': 10300}, {'end_base': 1042, 'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 32, 10300]], 'lifo_value': 1045}], ['deflation', {'layers': [[2020, 3000, 10000]], 'year': 2021, 'ending_current_cost': 3003, 'index': 9500}, {'end_base': 3161, 'layers': [[2020, 3000, 10000], [2021, 161, 9500]], 'lifo_value': 3153}]], [['new layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 15400, 'index': 11500}, {'end_base': 13391, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1391, 11500]], 'lifo_value': 13760}], ['partial strip', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 12654, 'index': 11500}, {'end_base': 11003, 'layers': [[2020, 10000, 10000], [2021, 1003, 10800]], 'lifo_value': 11083}], ['strip exact layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1004, 11000]], 'year': 2023, 'ending_current_cost': 14400, 'index': 12000}, {'end_base': 12000, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'lifo_value': 12160}], ['strip two layers', {'layers': [[2020, 5000, 10000], [2021, 1000, 10500], [2022, 1000, 12500]], 'year': 2023, 'ending_current_cost': 5204, 'index': 10400}, {'end_base': 5004, 'layers': [[2020, 5000, 10000], [2021, 4, 10500]], 'lifo_value': 5004}], ['unchanged base', {'layers': [[2020, 8000, 10000]], 'year': 2021, 'ending_current_cost': 8800, 'index': 11000}, {'end_base': 8000, 'layers': [[2020, 8000, 10000]], 'lifo_value': 8000}], ['rounding layers', {'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000]], 'year': 2023, 'ending_current_cost': 1084, 'index': 10300}, {'end_base': 1052, 'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 42, 10300]], 'lifo_value': 1055}], ['deflation', {'layers': [[2020, 3000, 10000]], 'year': 2021, 'ending_current_cost': 3004, 'index': 9500}, {'end_base': 3162, 'layers': [[2020, 3000, 10000], [2021, 162, 9500]], 'lifo_value': 3154}]], [['new layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 15500, 'index': 11500}, {'end_base': 13478, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1478, 11500]], 'lifo_value': 13860}], ['partial strip', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 12655, 'index': 11500}, {'end_base': 11004, 'layers': [[2020, 10000, 10000], [2021, 1004, 10800]], 'lifo_value': 11084}], ['strip exact layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1005, 11000]], 'year': 2023, 'ending_current_cost': 14400, 'index': 12000}, {'end_base': 12000, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'lifo_value': 12160}], ['strip two layers', {'layers': [[2020, 5000, 10000], [2021, 1000, 10500], [2022, 1000, 12500]], 'year': 2023, 'ending_current_cost': 5205, 'index': 10400}, {'end_base': 5005, 'layers': [[2020, 5000, 10000], [2021, 5, 10500]], 'lifo_value': 5005}], ['unchanged base', {'layers': [[2020, 8000, 10000]], 'year': 2021, 'ending_current_cost': 8800, 'index': 11000}, {'end_base': 8000, 'layers': [[2020, 8000, 10000]], 'lifo_value': 8000}], ['rounding layers', {'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000]], 'year': 2023, 'ending_current_cost': 1095, 'index': 10300}, {'end_base': 1063, 'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 53, 10300]], 'lifo_value': 1067}], ['deflation', {'layers': [[2020, 3000, 10000]], 'year': 2021, 'ending_current_cost': 3005, 'index': 9500}, {'end_base': 3163, 'layers': [[2020, 3000, 10000], [2021, 163, 9500]], 'lifo_value': 3155}]]]\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":"d1b7098c8346e67a33d28ffaa9889180accf692c94062af92e457ffab3f5105c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    layers = [list(l) for l in x['layers']]\n    idx = x['index']\n    end_base = (2 * x['ending_current_cost'] * 10000 + idx) // (2 * idx)\n    prev = sum(l[1] for l in layers)\n    if end_base > prev:\n        layers.append([x['year'], end_base - prev, idx])\n    else:\n        cut = prev - end_base\n        while cut > 0 and layers:\n            k = -1\n            top = layers[k]\n            if top[1] <= cut:\n                cut -= top[1]\n                layers.pop(k)\n            else:\n                top[1] -= cut\n                cut = 0\n    value = sum((b * i + 5000) // 10000 for _, b, i in layers)\n    return {'end_base': end_base, 'layers': layers, 'lifo_value': value}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['new layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 15100, 'index': 11500}, {'end_base': 13130, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1130, 11500]], 'lifo_value': 13460}], ['partial strip', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 12651, 'index': 11500}, {'end_base': 11001, 'layers': [[2020, 10000, 10000], [2021, 1001, 10800]], 'lifo_value': 11081}], ['strip exact layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1001, 11000]], 'year': 2023, 'ending_current_cost': 14400, 'index': 12000}, {'end_base': 12000, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'lifo_value': 12160}], ['strip two layers', {'layers': [[2020, 5000, 10000], [2021, 1000, 10500], [2022, 1000, 12500]], 'year': 2023, 'ending_current_cost': 5201, 'index': 10400}, {'end_base': 5001, 'layers': [[2020, 5000, 10000], [2021, 1, 10500]], 'lifo_value': 5001}], ['unchanged base', {'layers': [[2020, 8000, 10000]], 'year': 2021, 'ending_current_cost': 8800, 'index': 11000}, {'end_base': 8000, 'layers': [[2020, 8000, 10000]], 'lifo_value': 8000}], ['rounding layers', {'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000]], 'year': 2023, 'ending_current_cost': 1051, 'index': 10300}, {'end_base': 1020, 'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 10, 10300]], 'lifo_value': 1022}], ['deflation', {'layers': [[2020, 3000, 10000]], 'year': 2021, 'ending_current_cost': 3001, 'index': 9500}, {'end_base': 3159, 'layers': [[2020, 3000, 10000], [2021, 159, 9500]], 'lifo_value': 3151}]], [['new layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 15200, 'index': 11500}, {'end_base': 13217, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1217, 11500]], 'lifo_value': 13560}], ['partial strip', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 12652, 'index': 11500}, {'end_base': 11002, 'layers': [[2020, 10000, 10000], [2021, 1002, 10800]], 'lifo_value': 11082}], ['strip exact layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1002, 11000]], 'year': 2023, 'ending_current_cost': 14400, 'index': 12000}, {'end_base': 12000, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'lifo_value': 12160}], ['strip two layers', {'layers': [[2020, 5000, 10000], [2021, 1000, 10500], [2022, 1000, 12500]], 'year': 2023, 'ending_current_cost': 5202, 'index': 10400}, {'end_base': 5002, 'layers': [[2020, 5000, 10000], [2021, 2, 10500]], 'lifo_value': 5002}], ['unchanged base', {'layers': [[2020, 8000, 10000]], 'year': 2021, 'ending_current_cost': 8800, 'index': 11000}, {'end_base': 8000, 'layers': [[2020, 8000, 10000]], 'lifo_value': 8000}], ['rounding layers', {'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000]], 'year': 2023, 'ending_current_cost': 1062, 'index': 10300}, {'end_base': 1031, 'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 21, 10300]], 'lifo_value': 1034}], ['deflation', {'layers': [[2020, 3000, 10000]], 'year': 2021, 'ending_current_cost': 3002, 'index': 9500}, {'end_base': 3160, 'layers': [[2020, 3000, 10000], [2021, 160, 9500]], 'lifo_value': 3152}]], [['new layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 15300, 'index': 11500}, {'end_base': 13304, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1304, 11500]], 'lifo_value': 13660}], ['partial strip', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 12653, 'index': 11500}, {'end_base': 11003, 'layers': [[2020, 10000, 10000], [2021, 1003, 10800]], 'lifo_value': 11083}], ['strip exact layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1003, 11000]], 'year': 2023, 'ending_current_cost': 14400, 'index': 12000}, {'end_base': 12000, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'lifo_value': 12160}], ['strip two layers', {'layers': [[2020, 5000, 10000], [2021, 1000, 10500], [2022, 1000, 12500]], 'year': 2023, 'ending_current_cost': 5203, 'index': 10400}, {'end_base': 5003, 'layers': [[2020, 5000, 10000], [2021, 3, 10500]], 'lifo_value': 5003}], ['unchanged base', {'layers': [[2020, 8000, 10000]], 'year': 2021, 'ending_current_cost': 8800, 'index': 11000}, {'end_base': 8000, 'layers': [[2020, 8000, 10000]], 'lifo_value': 8000}], ['rounding layers', {'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000]], 'year': 2023, 'ending_current_cost': 1073, 'index': 10300}, {'end_base': 1042, 'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 32, 10300]], 'lifo_value': 1045}], ['deflation', {'layers': [[2020, 3000, 10000]], 'year': 2021, 'ending_current_cost': 3003, 'index': 9500}, {'end_base': 3161, 'layers': [[2020, 3000, 10000], [2021, 161, 9500]], 'lifo_value': 3153}]], [['new layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 15400, 'index': 11500}, {'end_base': 13391, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1391, 11500]], 'lifo_value': 13760}], ['partial strip', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 12654, 'index': 11500}, {'end_base': 11003, 'layers': [[2020, 10000, 10000], [2021, 1003, 10800]], 'lifo_value': 11083}], ['strip exact layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1004, 11000]], 'year': 2023, 'ending_current_cost': 14400, 'index': 12000}, {'end_base': 12000, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'lifo_value': 12160}], ['strip two layers', {'layers': [[2020, 5000, 10000], [2021, 1000, 10500], [2022, 1000, 12500]], 'year': 2023, 'ending_current_cost': 5204, 'index': 10400}, {'end_base': 5004, 'layers': [[2020, 5000, 10000], [2021, 4, 10500]], 'lifo_value': 5004}], ['unchanged base', {'layers': [[2020, 8000, 10000]], 'year': 2021, 'ending_current_cost': 8800, 'index': 11000}, {'end_base': 8000, 'layers': [[2020, 8000, 10000]], 'lifo_value': 8000}], ['rounding layers', {'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000]], 'year': 2023, 'ending_current_cost': 1084, 'index': 10300}, {'end_base': 1052, 'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 42, 10300]], 'lifo_value': 1055}], ['deflation', {'layers': [[2020, 3000, 10000]], 'year': 2021, 'ending_current_cost': 3004, 'index': 9500}, {'end_base': 3162, 'layers': [[2020, 3000, 10000], [2021, 162, 9500]], 'lifo_value': 3154}]], [['new layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 15500, 'index': 11500}, {'end_base': 13478, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1478, 11500]], 'lifo_value': 13860}], ['partial strip', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'year': 2022, 'ending_current_cost': 12655, 'index': 11500}, {'end_base': 11004, 'layers': [[2020, 10000, 10000], [2021, 1004, 10800]], 'lifo_value': 11084}], ['strip exact layer', {'layers': [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1005, 11000]], 'year': 2023, 'ending_current_cost': 14400, 'index': 12000}, {'end_base': 12000, 'layers': [[2020, 10000, 10000], [2021, 2000, 10800]], 'lifo_value': 12160}], ['strip two layers', {'layers': [[2020, 5000, 10000], [2021, 1000, 10500], [2022, 1000, 12500]], 'year': 2023, 'ending_current_cost': 5205, 'index': 10400}, {'end_base': 5005, 'layers': [[2020, 5000, 10000], [2021, 5, 10500]], 'lifo_value': 5005}], ['unchanged base', {'layers': [[2020, 8000, 10000]], 'year': 2021, 'ending_current_cost': 8800, 'index': 11000}, {'end_base': 8000, 'layers': [[2020, 8000, 10000]], 'lifo_value': 8000}], ['rounding layers', {'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000]], 'year': 2023, 'ending_current_cost': 1095, 'index': 10300}, {'end_base': 1063, 'layers': [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 53, 10300]], 'lifo_value': 1067}], ['deflation', {'layers': [[2020, 3000, 10000]], 'year': 2021, 'ending_current_cost': 3005, 'index': 9500}, {'end_base': 3163, 'layers': [[2020, 3000, 10000], [2021, 163, 9500]], 'lifo_value': 3155}]]]\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-dollar-value-lifo-exact-layer-exhaustion","generated_at":"2026-09-29T14:46:42.027165+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.","repair":"Remove the layer when its base dollars are less than or equal to the remaining cut.","root_cause":"The full-removal branch requires the layer to be strictly smaller than the remaining cut.","sha256":"927316b5b6a428fd7b1b2648d545d8962c93cc2172c026c68b4820933a2ed3da","title":"Dollar-value LIFO layering: exact layer exhaustion · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.498,"exit_code":1,"observations":[{"actual":{"end_base":13130,"layers":[[2020,10000,10000],[2021,2000,10800],[2022,1130,11500]],"lifo_value":13460},"check":"new layer","expected":{"end_base":13130,"layers":[[2020,10000,10000],[2021,2000,10800],[2022,1130,11500]],"lifo_value":13460},"passed":true},{"actual":{"end_base":11001,"layers":[[2020,10000,10000],[2021,1001,10800]],"lifo_value":11081},"check":"partial strip","expected":{"end_base":11001,"layers":[[2020,10000,10000],[2021,1001,10800]],"lifo_value":11081},"passed":true},{"actual":{"end_base":12000,"layers":[[2020,10000,10000],[2021,2000,10800],[2022,0,11000]],"lifo_value":12160},"check":"strip exact layer","expected":{"end_base":12000,"layers":[[2020,10000,10000],[2021,2000,10800]],"lifo_value":12160},"passed":false},{"actual":{"end_base":5001,"layers":[[2020,5000,10000],[2021,1,10500]],"lifo_value":5001},"check":"strip two layers","expected":{"end_base":5001,"layers":[[2020,5000,10000],[2021,1,10500]],"lifo_value":5001},"passed":true},{"actual":{"end_base":8000,"layers":[[2020,8000,10000]],"lifo_value":8000},"check":"unchanged base","expected":{"end_base":8000,"layers":[[2020,8000,10000]],"lifo_value":8000},"passed":true},{"actual":{"end_base":1020,"layers":[[2020,1000,10000],[2021,5,11000],[2022,5,11000],[2023,10,10300]],"lifo_value":1022},"check":"rounding layers","expected":{"end_base":1020,"layers":[[2020,1000,10000],[2021,5,11000],[2022,5,11000],[2023,10,10300]],"lifo_value":1022},"passed":true},{"actual":{"end_base":3159,"layers":[[2020,3000,10000],[2021,159,9500]],"lifo_value":3151},"check":"deflation","expected":{"end_base":3159,"layers":[[2020,3000,10000],[2021,159,9500]],"lifo_value":3151},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"new layer\", \"actual\": {\"end_base\": 13130, \"layers\": [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1130, 11500]], \"lifo_value\": 13460}, \"expected\": {\"end_base\": 13130, \"layers\": [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1130, 11500]], \"lifo_value\": 13460}, \"passed\": true}, {\"check\": \"partial strip\", \"actual\": {\"end_base\": 11001, \"layers\": [[2020, 10000, 10000], [2021, 1001, 10800]], \"lifo_value\": 11081}, \"expected\": {\"end_base\": 11001, \"layers\": [[2020, 10000, 10000], [2021, 1001, 10800]], \"lifo_value\": 11081}, \"passed\": true}, {\"check\": \"strip exact layer\", \"actual\": {\"end_base\": 12000, \"layers\": [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 0, 11000]], \"lifo_value\": 12160}, \"expected\": {\"end_base\": 12000, \"layers\": [[2020, 10000, 10000], [2021, 2000, 10800]], \"lifo_value\": 12160}, \"passed\": false}, {\"check\": \"strip two layers\", \"actual\": {\"end_base\": 5001, \"layers\": [[2020, 5000, 10000], [2021, 1, 10500]], \"lifo_value\": 5001}, \"expected\": {\"end_base\": 5001, \"layers\": [[2020, 5000, 10000], [2021, 1, 10500]], \"lifo_value\": 5001}, \"passed\": true}, {\"check\": \"unchanged base\", \"actual\": {\"end_base\": 8000, \"layers\": [[2020, 8000, 10000]], \"lifo_value\": 8000}, \"expected\": {\"end_base\": 8000, \"layers\": [[2020, 8000, 10000]], \"lifo_value\": 8000}, \"passed\": true}, {\"check\": \"rounding layers\", \"actual\": {\"end_base\": 1020, \"layers\": [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 10, 10300]], \"lifo_value\": 1022}, \"expected\": {\"end_base\": 1020, \"layers\": [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 10, 10300]], \"lifo_value\": 1022}, \"passed\": true}, {\"check\": \"deflation\", \"actual\": {\"end_base\": 3159, \"layers\": [[2020, 3000, 10000], [2021, 159, 9500]], \"lifo_value\": 3151}, \"expected\": {\"end_base\": 3159, \"layers\": [[2020, 3000, 10000], [2021, 159, 9500]], \"lifo_value\": 3151}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.968,"exit_code":1,"observations":[{"actual":{"end_base":13130,"layers":[[2020,10000,10000],[2021,2000,10800],[2022,1130,11500]],"lifo_value":13460},"check":"new layer","expected":{"end_base":13130,"layers":[[2020,10000,10000],[2021,2000,10800],[2022,1130,11500]],"lifo_value":13460},"passed":true},{"actual":{"end_base":11001,"layers":[[2020,10000,10000],[2021,1001,10800]],"lifo_value":11081},"check":"partial strip","expected":{"end_base":11001,"layers":[[2020,10000,10000],[2021,1001,10800]],"lifo_value":11081},"passed":true},{"actual":{"end_base":12000,"layers":[[2020,10000,10000],[2021,2000,10800],[2022,0,11000]],"lifo_value":12160},"check":"strip exact layer","expected":{"end_base":12000,"layers":[[2020,10000,10000],[2021,2000,10800]],"lifo_value":12160},"passed":false},{"actual":{"end_base":5001,"layers":[[2020,5000,10000],[2021,1,10500]],"lifo_value":5001},"check":"strip two layers","expected":{"end_base":5001,"layers":[[2020,5000,10000],[2021,1,10500]],"lifo_value":5001},"passed":true},{"actual":{"end_base":8000,"layers":[[2020,8000,10000]],"lifo_value":8000},"check":"unchanged base","expected":{"end_base":8000,"layers":[[2020,8000,10000]],"lifo_value":8000},"passed":true},{"actual":{"end_base":1020,"layers":[[2020,1000,10000],[2021,5,11000],[2022,5,11000],[2023,10,10300]],"lifo_value":1022},"check":"rounding layers","expected":{"end_base":1020,"layers":[[2020,1000,10000],[2021,5,11000],[2022,5,11000],[2023,10,10300]],"lifo_value":1022},"passed":true},{"actual":{"end_base":3159,"layers":[[2020,3000,10000],[2021,159,9500]],"lifo_value":3151},"check":"deflation","expected":{"end_base":3159,"layers":[[2020,3000,10000],[2021,159,9500]],"lifo_value":3151},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"new layer\", \"actual\": {\"end_base\": 13130, \"layers\": [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1130, 11500]], \"lifo_value\": 13460}, \"expected\": {\"end_base\": 13130, \"layers\": [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1130, 11500]], \"lifo_value\": 13460}, \"passed\": true}, {\"check\": \"partial strip\", \"actual\": {\"end_base\": 11001, \"layers\": [[2020, 10000, 10000], [2021, 1001, 10800]], \"lifo_value\": 11081}, \"expected\": {\"end_base\": 11001, \"layers\": [[2020, 10000, 10000], [2021, 1001, 10800]], \"lifo_value\": 11081}, \"passed\": true}, {\"check\": \"strip exact layer\", \"actual\": {\"end_base\": 12000, \"layers\": [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 0, 11000]], \"lifo_value\": 12160}, \"expected\": {\"end_base\": 12000, \"layers\": [[2020, 10000, 10000], [2021, 2000, 10800]], \"lifo_value\": 12160}, \"passed\": false}, {\"check\": \"strip two layers\", \"actual\": {\"end_base\": 5001, \"layers\": [[2020, 5000, 10000], [2021, 1, 10500]], \"lifo_value\": 5001}, \"expected\": {\"end_base\": 5001, \"layers\": [[2020, 5000, 10000], [2021, 1, 10500]], \"lifo_value\": 5001}, \"passed\": true}, {\"check\": \"unchanged base\", \"actual\": {\"end_base\": 8000, \"layers\": [[2020, 8000, 10000]], \"lifo_value\": 8000}, \"expected\": {\"end_base\": 8000, \"layers\": [[2020, 8000, 10000]], \"lifo_value\": 8000}, \"passed\": true}, {\"check\": \"rounding layers\", \"actual\": {\"end_base\": 1020, \"layers\": [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 10, 10300]], \"lifo_value\": 1022}, \"expected\": {\"end_base\": 1020, \"layers\": [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 10, 10300]], \"lifo_value\": 1022}, \"passed\": true}, {\"check\": \"deflation\", \"actual\": {\"end_base\": 3159, \"layers\": [[2020, 3000, 10000], [2021, 159, 9500]], \"lifo_value\": 3151}, \"expected\": {\"end_base\": 3159, \"layers\": [[2020, 3000, 10000], [2021, 159, 9500]], \"lifo_value\": 3151}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.416,"exit_code":0,"observations":[{"actual":{"end_base":13130,"layers":[[2020,10000,10000],[2021,2000,10800],[2022,1130,11500]],"lifo_value":13460},"check":"new layer","expected":{"end_base":13130,"layers":[[2020,10000,10000],[2021,2000,10800],[2022,1130,11500]],"lifo_value":13460},"passed":true},{"actual":{"end_base":11001,"layers":[[2020,10000,10000],[2021,1001,10800]],"lifo_value":11081},"check":"partial strip","expected":{"end_base":11001,"layers":[[2020,10000,10000],[2021,1001,10800]],"lifo_value":11081},"passed":true},{"actual":{"end_base":12000,"layers":[[2020,10000,10000],[2021,2000,10800]],"lifo_value":12160},"check":"strip exact layer","expected":{"end_base":12000,"layers":[[2020,10000,10000],[2021,2000,10800]],"lifo_value":12160},"passed":true},{"actual":{"end_base":5001,"layers":[[2020,5000,10000],[2021,1,10500]],"lifo_value":5001},"check":"strip two layers","expected":{"end_base":5001,"layers":[[2020,5000,10000],[2021,1,10500]],"lifo_value":5001},"passed":true},{"actual":{"end_base":8000,"layers":[[2020,8000,10000]],"lifo_value":8000},"check":"unchanged base","expected":{"end_base":8000,"layers":[[2020,8000,10000]],"lifo_value":8000},"passed":true},{"actual":{"end_base":1020,"layers":[[2020,1000,10000],[2021,5,11000],[2022,5,11000],[2023,10,10300]],"lifo_value":1022},"check":"rounding layers","expected":{"end_base":1020,"layers":[[2020,1000,10000],[2021,5,11000],[2022,5,11000],[2023,10,10300]],"lifo_value":1022},"passed":true},{"actual":{"end_base":3159,"layers":[[2020,3000,10000],[2021,159,9500]],"lifo_value":3151},"check":"deflation","expected":{"end_base":3159,"layers":[[2020,3000,10000],[2021,159,9500]],"lifo_value":3151},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"new layer\", \"actual\": {\"end_base\": 13130, \"layers\": [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1130, 11500]], \"lifo_value\": 13460}, \"expected\": {\"end_base\": 13130, \"layers\": [[2020, 10000, 10000], [2021, 2000, 10800], [2022, 1130, 11500]], \"lifo_value\": 13460}, \"passed\": true}, {\"check\": \"partial strip\", \"actual\": {\"end_base\": 11001, \"layers\": [[2020, 10000, 10000], [2021, 1001, 10800]], \"lifo_value\": 11081}, \"expected\": {\"end_base\": 11001, \"layers\": [[2020, 10000, 10000], [2021, 1001, 10800]], \"lifo_value\": 11081}, \"passed\": true}, {\"check\": \"strip exact layer\", \"actual\": {\"end_base\": 12000, \"layers\": [[2020, 10000, 10000], [2021, 2000, 10800]], \"lifo_value\": 12160}, \"expected\": {\"end_base\": 12000, \"layers\": [[2020, 10000, 10000], [2021, 2000, 10800]], \"lifo_value\": 12160}, \"passed\": true}, {\"check\": \"strip two layers\", \"actual\": {\"end_base\": 5001, \"layers\": [[2020, 5000, 10000], [2021, 1, 10500]], \"lifo_value\": 5001}, \"expected\": {\"end_base\": 5001, \"layers\": [[2020, 5000, 10000], [2021, 1, 10500]], \"lifo_value\": 5001}, \"passed\": true}, {\"check\": \"unchanged base\", \"actual\": {\"end_base\": 8000, \"layers\": [[2020, 8000, 10000]], \"lifo_value\": 8000}, \"expected\": {\"end_base\": 8000, \"layers\": [[2020, 8000, 10000]], \"lifo_value\": 8000}, \"passed\": true}, {\"check\": \"rounding layers\", \"actual\": {\"end_base\": 1020, \"layers\": [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 10, 10300]], \"lifo_value\": 1022}, \"expected\": {\"end_base\": 1020, \"layers\": [[2020, 1000, 10000], [2021, 5, 11000], [2022, 5, 11000], [2023, 10, 10300]], \"lifo_value\": 1022}, \"passed\": true}, {\"check\": \"deflation\", \"actual\": {\"end_base\": 3159, \"layers\": [[2020, 3000, 10000], [2021, 159, 9500]], \"lifo_value\": 3151}, \"expected\": {\"end_base\": 3159, \"layers\": [[2020, 3000, 10000], [2021, 159, 9500]], \"lifo_value\": 3151}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}