{"abstract":"The LIFO reserve comes out negative in an inflationary period.","category":"Inventory cost layering","checks":7,"contract":"Input {begin:[fifo,lifo], years:[[fifo_end,lifo_end]], lifo_cogs:[per year], tax_bp}. Reserve = FIFO - LIFO. Each year: change = reserve_end - prior year reserve; FIFO-basis COGS = LIFO COGS - change; a year is flagged \"decline\" when change < 0; cumulative tax deferral = round-half-up(reserve_end*tax_bp/10000). Return list of {reserve, change, fifo_cogs, flag, deferral}.","evaluation_group":"w2-inventory-cost-layering-lifo-reserve-rollforward","failed_approach":"Taking the absolute difference hides genuine negative reserves in deflation and still misstates change signs.","family":"w2-inventory-cost-layering-lifo-reserve-rollforward-reserve-direction","id":"FA-60216","implementations":{"attempt":{"sha256":"dbbc0827be1d9c963c036298c6c22ec27829efd6d43f1faa26be609b23dcb577","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    prior = x['begin'][0] - x['begin'][1]\n    rows = []\n    for (fe, le), cogs in zip(x['years'], x['lifo_cogs']):\n        reserve = abs(le - fe) if fe >= le else le - fe\n        change = reserve - prior\n        rows.append({'reserve': reserve, 'change': change, 'fifo_cogs': cogs - change,\n                     'flag': 'decline' if change < 0 else 'build',\n                     'deferral': (reserve * x['tax_bp'] + 5000) // 10000})\n        prior = reserve\n    return rows\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['rising reserve', {'begin': [5000, 4200], 'years': [[6000, 4701], [6500, 4900]], 'lifo_cogs': [20000, 21000], 'tax_bp': 2100}, [{'reserve': 1299, 'change': 499, 'fifo_cogs': 19501, 'flag': 'build', 'deferral': 273}, {'reserve': 1600, 'change': 301, 'fifo_cogs': 20699, 'flag': 'build', 'deferral': 336}]], ['declining reserve', {'begin': [8000, 5000], 'years': [[7000, 4800], [6000, 4499]], 'lifo_cogs': [30000, 31000], 'tax_bp': 2500}, [{'reserve': 2200, 'change': -800, 'fifo_cogs': 30800, 'flag': 'decline', 'deferral': 550}, {'reserve': 1501, 'change': -699, 'fifo_cogs': 31699, 'flag': 'decline', 'deferral': 375}]], ['flat year', {'begin': [3000, 2000], 'years': [[3500, 2500], [3601, 2601]], 'lifo_cogs': [9000, 9100], 'tax_bp': 3000}, [{'reserve': 1000, 'change': 0, 'fifo_cogs': 9000, 'flag': 'build', 'deferral': 300}, {'reserve': 1000, 'change': 0, 'fifo_cogs': 9100, 'flag': 'build', 'deferral': 300}]], ['single year', {'begin': [100, 100], 'years': [[901, 300]], 'lifo_cogs': [5000], 'tax_bp': 2150}, [{'reserve': 601, 'change': 601, 'fifo_cogs': 4399, 'flag': 'build', 'deferral': 129}]], ['odd tax', {'begin': [1000, 999], 'years': [[1003, 1000], [1011, 1001]], 'lifo_cogs': [700, 800], 'tax_bp': 3333}, [{'reserve': 3, 'change': 2, 'fifo_cogs': 698, 'flag': 'build', 'deferral': 1}, {'reserve': 10, 'change': 7, 'fifo_cogs': 793, 'flag': 'build', 'deferral': 3}]], ['deflation', {'begin': [1000, 1100], 'years': [[900, 1001]], 'lifo_cogs': [50], 'tax_bp': 2000}, [{'reserve': -101, 'change': -1, 'fifo_cogs': 51, 'flag': 'decline', 'deferral': -20}]], ['three years', {'begin': [2000, 1500], 'years': [[2600, 1700], [2500, 1651], [2900, 1700]], 'lifo_cogs': [1, 2, 3], 'tax_bp': 2000}, [{'reserve': 900, 'change': 400, 'fifo_cogs': -399, 'flag': 'build', 'deferral': 180}, {'reserve': 849, 'change': -51, 'fifo_cogs': 53, 'flag': 'decline', 'deferral': 170}, {'reserve': 1200, 'change': 351, 'fifo_cogs': -348, 'flag': 'build', 'deferral': 240}]]], [['rising reserve', {'begin': [5000, 4200], 'years': [[6000, 4702], [6500, 4900]], 'lifo_cogs': [20000, 21000], 'tax_bp': 2100}, [{'reserve': 1298, 'change': 498, 'fifo_cogs': 19502, 'flag': 'build', 'deferral': 273}, {'reserve': 1600, 'change': 302, 'fifo_cogs': 20698, 'flag': 'build', 'deferral': 336}]], ['declining reserve', {'begin': [8000, 5000], 'years': [[7000, 4800], [6000, 4498]], 'lifo_cogs': [30000, 31000], 'tax_bp': 2500}, [{'reserve': 2200, 'change': -800, 'fifo_cogs': 30800, 'flag': 'decline', 'deferral': 550}, {'reserve': 1502, 'change': -698, 'fifo_cogs': 31698, 'flag': 'decline', 'deferral': 376}]], ['flat year', {'begin': [3000, 2000], 'years': [[3500, 2500], [3602, 2602]], 'lifo_cogs': [9000, 9100], 'tax_bp': 3000}, [{'reserve': 1000, 'change': 0, 'fifo_cogs': 9000, 'flag': 'build', 'deferral': 300}, {'reserve': 1000, 'change': 0, 'fifo_cogs': 9100, 'flag': 'build', 'deferral': 300}]], ['single year', {'begin': [100, 100], 'years': [[902, 300]], 'lifo_cogs': [5000], 'tax_bp': 2150}, [{'reserve': 602, 'change': 602, 'fifo_cogs': 4398, 'flag': 'build', 'deferral': 129}]], ['odd tax', {'begin': [1000, 999], 'years': [[1003, 1000], [1012, 1001]], 'lifo_cogs': [700, 800], 'tax_bp': 3333}, [{'reserve': 3, 'change': 2, 'fifo_cogs': 698, 'flag': 'build', 'deferral': 1}, {'reserve': 11, 'change': 8, 'fifo_cogs': 792, 'flag': 'build', 'deferral': 4}]], ['deflation', {'begin': [1000, 1100], 'years': [[900, 1002]], 'lifo_cogs': [50], 'tax_bp': 2000}, [{'reserve': -102, 'change': -2, 'fifo_cogs': 52, 'flag': 'decline', 'deferral': -20}]], ['three years', {'begin': [2000, 1500], 'years': [[2600, 1700], [2500, 1652], [2900, 1700]], 'lifo_cogs': [1, 2, 3], 'tax_bp': 2000}, [{'reserve': 900, 'change': 400, 'fifo_cogs': -399, 'flag': 'build', 'deferral': 180}, {'reserve': 848, 'change': -52, 'fifo_cogs': 54, 'flag': 'decline', 'deferral': 170}, {'reserve': 1200, 'change': 352, 'fifo_cogs': -349, 'flag': 'build', 'deferral': 240}]]], [['rising reserve', {'begin': [5000, 4200], 'years': [[6000, 4703], [6500, 4900]], 'lifo_cogs': [20000, 21000], 'tax_bp': 2100}, [{'reserve': 1297, 'change': 497, 'fifo_cogs': 19503, 'flag': 'build', 'deferral': 272}, {'reserve': 1600, 'change': 303, 'fifo_cogs': 20697, 'flag': 'build', 'deferral': 336}]], ['declining reserve', {'begin': [8000, 5000], 'years': [[7000, 4800], [6000, 4497]], 'lifo_cogs': [30000, 31000], 'tax_bp': 2500}, [{'reserve': 2200, 'change': -800, 'fifo_cogs': 30800, 'flag': 'decline', 'deferral': 550}, {'reserve': 1503, 'change': -697, 'fifo_cogs': 31697, 'flag': 'decline', 'deferral': 376}]], ['flat year', {'begin': [3000, 2000], 'years': [[3500, 2500], [3603, 2603]], 'lifo_cogs': [9000, 9100], 'tax_bp': 3000}, [{'reserve': 1000, 'change': 0, 'fifo_cogs': 9000, 'flag': 'build', 'deferral': 300}, {'reserve': 1000, 'change': 0, 'fifo_cogs': 9100, 'flag': 'build', 'deferral': 300}]], ['single year', {'begin': [100, 100], 'years': [[903, 300]], 'lifo_cogs': [5000], 'tax_bp': 2150}, [{'reserve': 603, 'change': 603, 'fifo_cogs': 4397, 'flag': 'build', 'deferral': 130}]], ['odd tax', {'begin': [1000, 999], 'years': [[1003, 1000], [1013, 1001]], 'lifo_cogs': [700, 800], 'tax_bp': 3333}, [{'reserve': 3, 'change': 2, 'fifo_cogs': 698, 'flag': 'build', 'deferral': 1}, {'reserve': 12, 'change': 9, 'fifo_cogs': 791, 'flag': 'build', 'deferral': 4}]], ['deflation', {'begin': [1000, 1100], 'years': [[900, 1003]], 'lifo_cogs': [50], 'tax_bp': 2000}, [{'reserve': -103, 'change': -3, 'fifo_cogs': 53, 'flag': 'decline', 'deferral': -21}]], ['three years', {'begin': [2000, 1500], 'years': [[2600, 1700], [2500, 1653], [2900, 1700]], 'lifo_cogs': [1, 2, 3], 'tax_bp': 2000}, [{'reserve': 900, 'change': 400, 'fifo_cogs': -399, 'flag': 'build', 'deferral': 180}, {'reserve': 847, 'change': -53, 'fifo_cogs': 55, 'flag': 'decline', 'deferral': 169}, {'reserve': 1200, 'change': 353, 'fifo_cogs': -350, 'flag': 'build', 'deferral': 240}]]], [['rising reserve', {'begin': [5000, 4200], 'years': [[6000, 4704], [6500, 4900]], 'lifo_cogs': [20000, 21000], 'tax_bp': 2100}, [{'reserve': 1296, 'change': 496, 'fifo_cogs': 19504, 'flag': 'build', 'deferral': 272}, {'reserve': 1600, 'change': 304, 'fifo_cogs': 20696, 'flag': 'build', 'deferral': 336}]], ['declining reserve', {'begin': [8000, 5000], 'years': [[7000, 4800], [6000, 4496]], 'lifo_cogs': [30000, 31000], 'tax_bp': 2500}, [{'reserve': 2200, 'change': -800, 'fifo_cogs': 30800, 'flag': 'decline', 'deferral': 550}, {'reserve': 1504, 'change': -696, 'fifo_cogs': 31696, 'flag': 'decline', 'deferral': 376}]], ['flat year', {'begin': [3000, 2000], 'years': [[3500, 2500], [3604, 2604]], 'lifo_cogs': [9000, 9100], 'tax_bp': 3000}, [{'reserve': 1000, 'change': 0, 'fifo_cogs': 9000, 'flag': 'build', 'deferral': 300}, {'reserve': 1000, 'change': 0, 'fifo_cogs': 9100, 'flag': 'build', 'deferral': 300}]], ['single year', {'begin': [100, 100], 'years': [[904, 300]], 'lifo_cogs': [5000], 'tax_bp': 2150}, [{'reserve': 604, 'change': 604, 'fifo_cogs': 4396, 'flag': 'build', 'deferral': 130}]], ['odd tax', {'begin': [1000, 999], 'years': [[1003, 1000], [1014, 1001]], 'lifo_cogs': [700, 800], 'tax_bp': 3333}, [{'reserve': 3, 'change': 2, 'fifo_cogs': 698, 'flag': 'build', 'deferral': 1}, {'reserve': 13, 'change': 10, 'fifo_cogs': 790, 'flag': 'build', 'deferral': 4}]], ['deflation', {'begin': [1000, 1100], 'years': [[900, 1004]], 'lifo_cogs': [50], 'tax_bp': 2000}, [{'reserve': -104, 'change': -4, 'fifo_cogs': 54, 'flag': 'decline', 'deferral': -21}]], ['three years', {'begin': [2000, 1500], 'years': [[2600, 1700], [2500, 1654], [2900, 1700]], 'lifo_cogs': [1, 2, 3], 'tax_bp': 2000}, [{'reserve': 900, 'change': 400, 'fifo_cogs': -399, 'flag': 'build', 'deferral': 180}, {'reserve': 846, 'change': -54, 'fifo_cogs': 56, 'flag': 'decline', 'deferral': 169}, {'reserve': 1200, 'change': 354, 'fifo_cogs': -351, 'flag': 'build', 'deferral': 240}]]], [['rising reserve', {'begin': [5000, 4200], 'years': [[6000, 4705], [6500, 4900]], 'lifo_cogs': [20000, 21000], 'tax_bp': 2100}, [{'reserve': 1295, 'change': 495, 'fifo_cogs': 19505, 'flag': 'build', 'deferral': 272}, {'reserve': 1600, 'change': 305, 'fifo_cogs': 20695, 'flag': 'build', 'deferral': 336}]], ['declining reserve', {'begin': [8000, 5000], 'years': [[7000, 4800], [6000, 4495]], 'lifo_cogs': [30000, 31000], 'tax_bp': 2500}, [{'reserve': 2200, 'change': -800, 'fifo_cogs': 30800, 'flag': 'decline', 'deferral': 550}, {'reserve': 1505, 'change': -695, 'fifo_cogs': 31695, 'flag': 'decline', 'deferral': 376}]], ['flat year', {'begin': [3000, 2000], 'years': [[3500, 2500], [3605, 2605]], 'lifo_cogs': [9000, 9100], 'tax_bp': 3000}, [{'reserve': 1000, 'change': 0, 'fifo_cogs': 9000, 'flag': 'build', 'deferral': 300}, {'reserve': 1000, 'change': 0, 'fifo_cogs': 9100, 'flag': 'build', 'deferral': 300}]], ['single year', {'begin': [100, 100], 'years': [[905, 300]], 'lifo_cogs': [5000], 'tax_bp': 2150}, [{'reserve': 605, 'change': 605, 'fifo_cogs': 4395, 'flag': 'build', 'deferral': 130}]], ['odd tax', {'begin': [1000, 999], 'years': [[1003, 1000], [1015, 1001]], 'lifo_cogs': [700, 800], 'tax_bp': 3333}, [{'reserve': 3, 'change': 2, 'fifo_cogs': 698, 'flag': 'build', 'deferral': 1}, {'reserve': 14, 'change': 11, 'fifo_cogs': 789, 'flag': 'build', 'deferral': 5}]], ['deflation', {'begin': [1000, 1100], 'years': [[900, 1005]], 'lifo_cogs': [50], 'tax_bp': 2000}, [{'reserve': -105, 'change': -5, 'fifo_cogs': 55, 'flag': 'decline', 'deferral': -21}]], ['three years', {'begin': [2000, 1500], 'years': [[2600, 1700], [2500, 1655], [2900, 1700]], 'lifo_cogs': [1, 2, 3], 'tax_bp': 2000}, [{'reserve': 900, 'change': 400, 'fifo_cogs': -399, 'flag': 'build', 'deferral': 180}, {'reserve': 845, 'change': -55, 'fifo_cogs': 57, 'flag': 'decline', 'deferral': 169}, {'reserve': 1200, 'change': 355, 'fifo_cogs': -352, 'flag': 'build', 'deferral': 240}]]]]\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":"a8d2a70474b8c265ad491bf8a5d001f345d1f356bdf7e567528f8ed3c4c74a88","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    prior = x['begin'][0] - x['begin'][1]\n    rows = []\n    for (fe, le), cogs in zip(x['years'], x['lifo_cogs']):\n        reserve = le - fe\n        change = reserve - prior\n        rows.append({'reserve': reserve, 'change': change, 'fifo_cogs': cogs - change,\n                     'flag': 'decline' if change < 0 else 'build',\n                     'deferral': (reserve * x['tax_bp'] + 5000) // 10000})\n        prior = reserve\n    return rows\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['rising reserve', {'begin': [5000, 4200], 'years': [[6000, 4701], [6500, 4900]], 'lifo_cogs': [20000, 21000], 'tax_bp': 2100}, [{'reserve': 1299, 'change': 499, 'fifo_cogs': 19501, 'flag': 'build', 'deferral': 273}, {'reserve': 1600, 'change': 301, 'fifo_cogs': 20699, 'flag': 'build', 'deferral': 336}]], ['declining reserve', {'begin': [8000, 5000], 'years': [[7000, 4800], [6000, 4499]], 'lifo_cogs': [30000, 31000], 'tax_bp': 2500}, [{'reserve': 2200, 'change': -800, 'fifo_cogs': 30800, 'flag': 'decline', 'deferral': 550}, {'reserve': 1501, 'change': -699, 'fifo_cogs': 31699, 'flag': 'decline', 'deferral': 375}]], ['flat year', {'begin': [3000, 2000], 'years': [[3500, 2500], [3601, 2601]], 'lifo_cogs': [9000, 9100], 'tax_bp': 3000}, [{'reserve': 1000, 'change': 0, 'fifo_cogs': 9000, 'flag': 'build', 'deferral': 300}, {'reserve': 1000, 'change': 0, 'fifo_cogs': 9100, 'flag': 'build', 'deferral': 300}]], ['single year', {'begin': [100, 100], 'years': [[901, 300]], 'lifo_cogs': [5000], 'tax_bp': 2150}, [{'reserve': 601, 'change': 601, 'fifo_cogs': 4399, 'flag': 'build', 'deferral': 129}]], ['odd tax', {'begin': [1000, 999], 'years': [[1003, 1000], [1011, 1001]], 'lifo_cogs': [700, 800], 'tax_bp': 3333}, [{'reserve': 3, 'change': 2, 'fifo_cogs': 698, 'flag': 'build', 'deferral': 1}, {'reserve': 10, 'change': 7, 'fifo_cogs': 793, 'flag': 'build', 'deferral': 3}]], ['deflation', {'begin': [1000, 1100], 'years': [[900, 1001]], 'lifo_cogs': [50], 'tax_bp': 2000}, [{'reserve': -101, 'change': -1, 'fifo_cogs': 51, 'flag': 'decline', 'deferral': -20}]], ['three years', {'begin': [2000, 1500], 'years': [[2600, 1700], [2500, 1651], [2900, 1700]], 'lifo_cogs': [1, 2, 3], 'tax_bp': 2000}, [{'reserve': 900, 'change': 400, 'fifo_cogs': -399, 'flag': 'build', 'deferral': 180}, {'reserve': 849, 'change': -51, 'fifo_cogs': 53, 'flag': 'decline', 'deferral': 170}, {'reserve': 1200, 'change': 351, 'fifo_cogs': -348, 'flag': 'build', 'deferral': 240}]]], [['rising reserve', {'begin': [5000, 4200], 'years': [[6000, 4702], [6500, 4900]], 'lifo_cogs': [20000, 21000], 'tax_bp': 2100}, [{'reserve': 1298, 'change': 498, 'fifo_cogs': 19502, 'flag': 'build', 'deferral': 273}, {'reserve': 1600, 'change': 302, 'fifo_cogs': 20698, 'flag': 'build', 'deferral': 336}]], ['declining reserve', {'begin': [8000, 5000], 'years': [[7000, 4800], [6000, 4498]], 'lifo_cogs': [30000, 31000], 'tax_bp': 2500}, [{'reserve': 2200, 'change': -800, 'fifo_cogs': 30800, 'flag': 'decline', 'deferral': 550}, {'reserve': 1502, 'change': -698, 'fifo_cogs': 31698, 'flag': 'decline', 'deferral': 376}]], ['flat year', {'begin': [3000, 2000], 'years': [[3500, 2500], [3602, 2602]], 'lifo_cogs': [9000, 9100], 'tax_bp': 3000}, [{'reserve': 1000, 'change': 0, 'fifo_cogs': 9000, 'flag': 'build', 'deferral': 300}, {'reserve': 1000, 'change': 0, 'fifo_cogs': 9100, 'flag': 'build', 'deferral': 300}]], ['single year', {'begin': [100, 100], 'years': [[902, 300]], 'lifo_cogs': [5000], 'tax_bp': 2150}, [{'reserve': 602, 'change': 602, 'fifo_cogs': 4398, 'flag': 'build', 'deferral': 129}]], ['odd tax', {'begin': [1000, 999], 'years': [[1003, 1000], [1012, 1001]], 'lifo_cogs': [700, 800], 'tax_bp': 3333}, [{'reserve': 3, 'change': 2, 'fifo_cogs': 698, 'flag': 'build', 'deferral': 1}, {'reserve': 11, 'change': 8, 'fifo_cogs': 792, 'flag': 'build', 'deferral': 4}]], ['deflation', {'begin': [1000, 1100], 'years': [[900, 1002]], 'lifo_cogs': [50], 'tax_bp': 2000}, [{'reserve': -102, 'change': -2, 'fifo_cogs': 52, 'flag': 'decline', 'deferral': -20}]], ['three years', {'begin': [2000, 1500], 'years': [[2600, 1700], [2500, 1652], [2900, 1700]], 'lifo_cogs': [1, 2, 3], 'tax_bp': 2000}, [{'reserve': 900, 'change': 400, 'fifo_cogs': -399, 'flag': 'build', 'deferral': 180}, {'reserve': 848, 'change': -52, 'fifo_cogs': 54, 'flag': 'decline', 'deferral': 170}, {'reserve': 1200, 'change': 352, 'fifo_cogs': -349, 'flag': 'build', 'deferral': 240}]]], [['rising reserve', {'begin': [5000, 4200], 'years': [[6000, 4703], [6500, 4900]], 'lifo_cogs': [20000, 21000], 'tax_bp': 2100}, [{'reserve': 1297, 'change': 497, 'fifo_cogs': 19503, 'flag': 'build', 'deferral': 272}, {'reserve': 1600, 'change': 303, 'fifo_cogs': 20697, 'flag': 'build', 'deferral': 336}]], ['declining reserve', {'begin': [8000, 5000], 'years': [[7000, 4800], [6000, 4497]], 'lifo_cogs': [30000, 31000], 'tax_bp': 2500}, [{'reserve': 2200, 'change': -800, 'fifo_cogs': 30800, 'flag': 'decline', 'deferral': 550}, {'reserve': 1503, 'change': -697, 'fifo_cogs': 31697, 'flag': 'decline', 'deferral': 376}]], ['flat year', {'begin': [3000, 2000], 'years': [[3500, 2500], [3603, 2603]], 'lifo_cogs': [9000, 9100], 'tax_bp': 3000}, [{'reserve': 1000, 'change': 0, 'fifo_cogs': 9000, 'flag': 'build', 'deferral': 300}, {'reserve': 1000, 'change': 0, 'fifo_cogs': 9100, 'flag': 'build', 'deferral': 300}]], ['single year', {'begin': [100, 100], 'years': [[903, 300]], 'lifo_cogs': [5000], 'tax_bp': 2150}, [{'reserve': 603, 'change': 603, 'fifo_cogs': 4397, 'flag': 'build', 'deferral': 130}]], ['odd tax', {'begin': [1000, 999], 'years': [[1003, 1000], [1013, 1001]], 'lifo_cogs': [700, 800], 'tax_bp': 3333}, [{'reserve': 3, 'change': 2, 'fifo_cogs': 698, 'flag': 'build', 'deferral': 1}, {'reserve': 12, 'change': 9, 'fifo_cogs': 791, 'flag': 'build', 'deferral': 4}]], ['deflation', {'begin': [1000, 1100], 'years': [[900, 1003]], 'lifo_cogs': [50], 'tax_bp': 2000}, [{'reserve': -103, 'change': -3, 'fifo_cogs': 53, 'flag': 'decline', 'deferral': -21}]], ['three years', {'begin': [2000, 1500], 'years': [[2600, 1700], [2500, 1653], [2900, 1700]], 'lifo_cogs': [1, 2, 3], 'tax_bp': 2000}, [{'reserve': 900, 'change': 400, 'fifo_cogs': -399, 'flag': 'build', 'deferral': 180}, {'reserve': 847, 'change': -53, 'fifo_cogs': 55, 'flag': 'decline', 'deferral': 169}, {'reserve': 1200, 'change': 353, 'fifo_cogs': -350, 'flag': 'build', 'deferral': 240}]]], [['rising reserve', {'begin': [5000, 4200], 'years': [[6000, 4704], [6500, 4900]], 'lifo_cogs': [20000, 21000], 'tax_bp': 2100}, [{'reserve': 1296, 'change': 496, 'fifo_cogs': 19504, 'flag': 'build', 'deferral': 272}, {'reserve': 1600, 'change': 304, 'fifo_cogs': 20696, 'flag': 'build', 'deferral': 336}]], ['declining reserve', {'begin': [8000, 5000], 'years': [[7000, 4800], [6000, 4496]], 'lifo_cogs': [30000, 31000], 'tax_bp': 2500}, [{'reserve': 2200, 'change': -800, 'fifo_cogs': 30800, 'flag': 'decline', 'deferral': 550}, {'reserve': 1504, 'change': -696, 'fifo_cogs': 31696, 'flag': 'decline', 'deferral': 376}]], ['flat year', {'begin': [3000, 2000], 'years': [[3500, 2500], [3604, 2604]], 'lifo_cogs': [9000, 9100], 'tax_bp': 3000}, [{'reserve': 1000, 'change': 0, 'fifo_cogs': 9000, 'flag': 'build', 'deferral': 300}, {'reserve': 1000, 'change': 0, 'fifo_cogs': 9100, 'flag': 'build', 'deferral': 300}]], ['single year', {'begin': [100, 100], 'years': [[904, 300]], 'lifo_cogs': [5000], 'tax_bp': 2150}, [{'reserve': 604, 'change': 604, 'fifo_cogs': 4396, 'flag': 'build', 'deferral': 130}]], ['odd tax', {'begin': [1000, 999], 'years': [[1003, 1000], [1014, 1001]], 'lifo_cogs': [700, 800], 'tax_bp': 3333}, [{'reserve': 3, 'change': 2, 'fifo_cogs': 698, 'flag': 'build', 'deferral': 1}, {'reserve': 13, 'change': 10, 'fifo_cogs': 790, 'flag': 'build', 'deferral': 4}]], ['deflation', {'begin': [1000, 1100], 'years': [[900, 1004]], 'lifo_cogs': [50], 'tax_bp': 2000}, [{'reserve': -104, 'change': -4, 'fifo_cogs': 54, 'flag': 'decline', 'deferral': -21}]], ['three years', {'begin': [2000, 1500], 'years': [[2600, 1700], [2500, 1654], [2900, 1700]], 'lifo_cogs': [1, 2, 3], 'tax_bp': 2000}, [{'reserve': 900, 'change': 400, 'fifo_cogs': -399, 'flag': 'build', 'deferral': 180}, {'reserve': 846, 'change': -54, 'fifo_cogs': 56, 'flag': 'decline', 'deferral': 169}, {'reserve': 1200, 'change': 354, 'fifo_cogs': -351, 'flag': 'build', 'deferral': 240}]]], [['rising reserve', {'begin': [5000, 4200], 'years': [[6000, 4705], [6500, 4900]], 'lifo_cogs': [20000, 21000], 'tax_bp': 2100}, [{'reserve': 1295, 'change': 495, 'fifo_cogs': 19505, 'flag': 'build', 'deferral': 272}, {'reserve': 1600, 'change': 305, 'fifo_cogs': 20695, 'flag': 'build', 'deferral': 336}]], ['declining reserve', {'begin': [8000, 5000], 'years': [[7000, 4800], [6000, 4495]], 'lifo_cogs': [30000, 31000], 'tax_bp': 2500}, [{'reserve': 2200, 'change': -800, 'fifo_cogs': 30800, 'flag': 'decline', 'deferral': 550}, {'reserve': 1505, 'change': -695, 'fifo_cogs': 31695, 'flag': 'decline', 'deferral': 376}]], ['flat year', {'begin': [3000, 2000], 'years': [[3500, 2500], [3605, 2605]], 'lifo_cogs': [9000, 9100], 'tax_bp': 3000}, [{'reserve': 1000, 'change': 0, 'fifo_cogs': 9000, 'flag': 'build', 'deferral': 300}, {'reserve': 1000, 'change': 0, 'fifo_cogs': 9100, 'flag': 'build', 'deferral': 300}]], ['single year', {'begin': [100, 100], 'years': [[905, 300]], 'lifo_cogs': [5000], 'tax_bp': 2150}, [{'reserve': 605, 'change': 605, 'fifo_cogs': 4395, 'flag': 'build', 'deferral': 130}]], ['odd tax', {'begin': [1000, 999], 'years': [[1003, 1000], [1015, 1001]], 'lifo_cogs': [700, 800], 'tax_bp': 3333}, [{'reserve': 3, 'change': 2, 'fifo_cogs': 698, 'flag': 'build', 'deferral': 1}, {'reserve': 14, 'change': 11, 'fifo_cogs': 789, 'flag': 'build', 'deferral': 5}]], ['deflation', {'begin': [1000, 1100], 'years': [[900, 1005]], 'lifo_cogs': [50], 'tax_bp': 2000}, [{'reserve': -105, 'change': -5, 'fifo_cogs': 55, 'flag': 'decline', 'deferral': -21}]], ['three years', {'begin': [2000, 1500], 'years': [[2600, 1700], [2500, 1655], [2900, 1700]], 'lifo_cogs': [1, 2, 3], 'tax_bp': 2000}, [{'reserve': 900, 'change': 400, 'fifo_cogs': -399, 'flag': 'build', 'deferral': 180}, {'reserve': 845, 'change': -55, 'fifo_cogs': 57, 'flag': 'decline', 'deferral': 169}, {'reserve': 1200, 'change': 355, 'fifo_cogs': -352, 'flag': 'build', 'deferral': 240}]]]]\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":"ebd078c8f0701ec64956a262c3b0a226ea046d1f6bb0d6290fec038b18e07315","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    prior = x['begin'][0] - x['begin'][1]\n    rows = []\n    for (fe, le), cogs in zip(x['years'], x['lifo_cogs']):\n        reserve = fe - le\n        change = reserve - prior\n        rows.append({'reserve': reserve, 'change': change, 'fifo_cogs': cogs - change,\n                     'flag': 'decline' if change < 0 else 'build',\n                     'deferral': (reserve * x['tax_bp'] + 5000) // 10000})\n        prior = reserve\n    return rows\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['rising reserve', {'begin': [5000, 4200], 'years': [[6000, 4701], [6500, 4900]], 'lifo_cogs': [20000, 21000], 'tax_bp': 2100}, [{'reserve': 1299, 'change': 499, 'fifo_cogs': 19501, 'flag': 'build', 'deferral': 273}, {'reserve': 1600, 'change': 301, 'fifo_cogs': 20699, 'flag': 'build', 'deferral': 336}]], ['declining reserve', {'begin': [8000, 5000], 'years': [[7000, 4800], [6000, 4499]], 'lifo_cogs': [30000, 31000], 'tax_bp': 2500}, [{'reserve': 2200, 'change': -800, 'fifo_cogs': 30800, 'flag': 'decline', 'deferral': 550}, {'reserve': 1501, 'change': -699, 'fifo_cogs': 31699, 'flag': 'decline', 'deferral': 375}]], ['flat year', {'begin': [3000, 2000], 'years': [[3500, 2500], [3601, 2601]], 'lifo_cogs': [9000, 9100], 'tax_bp': 3000}, [{'reserve': 1000, 'change': 0, 'fifo_cogs': 9000, 'flag': 'build', 'deferral': 300}, {'reserve': 1000, 'change': 0, 'fifo_cogs': 9100, 'flag': 'build', 'deferral': 300}]], ['single year', {'begin': [100, 100], 'years': [[901, 300]], 'lifo_cogs': [5000], 'tax_bp': 2150}, [{'reserve': 601, 'change': 601, 'fifo_cogs': 4399, 'flag': 'build', 'deferral': 129}]], ['odd tax', {'begin': [1000, 999], 'years': [[1003, 1000], [1011, 1001]], 'lifo_cogs': [700, 800], 'tax_bp': 3333}, [{'reserve': 3, 'change': 2, 'fifo_cogs': 698, 'flag': 'build', 'deferral': 1}, {'reserve': 10, 'change': 7, 'fifo_cogs': 793, 'flag': 'build', 'deferral': 3}]], ['deflation', {'begin': [1000, 1100], 'years': [[900, 1001]], 'lifo_cogs': [50], 'tax_bp': 2000}, [{'reserve': -101, 'change': -1, 'fifo_cogs': 51, 'flag': 'decline', 'deferral': -20}]], ['three years', {'begin': [2000, 1500], 'years': [[2600, 1700], [2500, 1651], [2900, 1700]], 'lifo_cogs': [1, 2, 3], 'tax_bp': 2000}, [{'reserve': 900, 'change': 400, 'fifo_cogs': -399, 'flag': 'build', 'deferral': 180}, {'reserve': 849, 'change': -51, 'fifo_cogs': 53, 'flag': 'decline', 'deferral': 170}, {'reserve': 1200, 'change': 351, 'fifo_cogs': -348, 'flag': 'build', 'deferral': 240}]]], [['rising reserve', {'begin': [5000, 4200], 'years': [[6000, 4702], [6500, 4900]], 'lifo_cogs': [20000, 21000], 'tax_bp': 2100}, [{'reserve': 1298, 'change': 498, 'fifo_cogs': 19502, 'flag': 'build', 'deferral': 273}, {'reserve': 1600, 'change': 302, 'fifo_cogs': 20698, 'flag': 'build', 'deferral': 336}]], ['declining reserve', {'begin': [8000, 5000], 'years': [[7000, 4800], [6000, 4498]], 'lifo_cogs': [30000, 31000], 'tax_bp': 2500}, [{'reserve': 2200, 'change': -800, 'fifo_cogs': 30800, 'flag': 'decline', 'deferral': 550}, {'reserve': 1502, 'change': -698, 'fifo_cogs': 31698, 'flag': 'decline', 'deferral': 376}]], ['flat year', {'begin': [3000, 2000], 'years': [[3500, 2500], [3602, 2602]], 'lifo_cogs': [9000, 9100], 'tax_bp': 3000}, [{'reserve': 1000, 'change': 0, 'fifo_cogs': 9000, 'flag': 'build', 'deferral': 300}, {'reserve': 1000, 'change': 0, 'fifo_cogs': 9100, 'flag': 'build', 'deferral': 300}]], ['single year', {'begin': [100, 100], 'years': [[902, 300]], 'lifo_cogs': [5000], 'tax_bp': 2150}, [{'reserve': 602, 'change': 602, 'fifo_cogs': 4398, 'flag': 'build', 'deferral': 129}]], ['odd tax', {'begin': [1000, 999], 'years': [[1003, 1000], [1012, 1001]], 'lifo_cogs': [700, 800], 'tax_bp': 3333}, [{'reserve': 3, 'change': 2, 'fifo_cogs': 698, 'flag': 'build', 'deferral': 1}, {'reserve': 11, 'change': 8, 'fifo_cogs': 792, 'flag': 'build', 'deferral': 4}]], ['deflation', {'begin': [1000, 1100], 'years': [[900, 1002]], 'lifo_cogs': [50], 'tax_bp': 2000}, [{'reserve': -102, 'change': -2, 'fifo_cogs': 52, 'flag': 'decline', 'deferral': -20}]], ['three years', {'begin': [2000, 1500], 'years': [[2600, 1700], [2500, 1652], [2900, 1700]], 'lifo_cogs': [1, 2, 3], 'tax_bp': 2000}, [{'reserve': 900, 'change': 400, 'fifo_cogs': -399, 'flag': 'build', 'deferral': 180}, {'reserve': 848, 'change': -52, 'fifo_cogs': 54, 'flag': 'decline', 'deferral': 170}, {'reserve': 1200, 'change': 352, 'fifo_cogs': -349, 'flag': 'build', 'deferral': 240}]]], [['rising reserve', {'begin': [5000, 4200], 'years': [[6000, 4703], [6500, 4900]], 'lifo_cogs': [20000, 21000], 'tax_bp': 2100}, [{'reserve': 1297, 'change': 497, 'fifo_cogs': 19503, 'flag': 'build', 'deferral': 272}, {'reserve': 1600, 'change': 303, 'fifo_cogs': 20697, 'flag': 'build', 'deferral': 336}]], ['declining reserve', {'begin': [8000, 5000], 'years': [[7000, 4800], [6000, 4497]], 'lifo_cogs': [30000, 31000], 'tax_bp': 2500}, [{'reserve': 2200, 'change': -800, 'fifo_cogs': 30800, 'flag': 'decline', 'deferral': 550}, {'reserve': 1503, 'change': -697, 'fifo_cogs': 31697, 'flag': 'decline', 'deferral': 376}]], ['flat year', {'begin': [3000, 2000], 'years': [[3500, 2500], [3603, 2603]], 'lifo_cogs': [9000, 9100], 'tax_bp': 3000}, [{'reserve': 1000, 'change': 0, 'fifo_cogs': 9000, 'flag': 'build', 'deferral': 300}, {'reserve': 1000, 'change': 0, 'fifo_cogs': 9100, 'flag': 'build', 'deferral': 300}]], ['single year', {'begin': [100, 100], 'years': [[903, 300]], 'lifo_cogs': [5000], 'tax_bp': 2150}, [{'reserve': 603, 'change': 603, 'fifo_cogs': 4397, 'flag': 'build', 'deferral': 130}]], ['odd tax', {'begin': [1000, 999], 'years': [[1003, 1000], [1013, 1001]], 'lifo_cogs': [700, 800], 'tax_bp': 3333}, [{'reserve': 3, 'change': 2, 'fifo_cogs': 698, 'flag': 'build', 'deferral': 1}, {'reserve': 12, 'change': 9, 'fifo_cogs': 791, 'flag': 'build', 'deferral': 4}]], ['deflation', {'begin': [1000, 1100], 'years': [[900, 1003]], 'lifo_cogs': [50], 'tax_bp': 2000}, [{'reserve': -103, 'change': -3, 'fifo_cogs': 53, 'flag': 'decline', 'deferral': -21}]], ['three years', {'begin': [2000, 1500], 'years': [[2600, 1700], [2500, 1653], [2900, 1700]], 'lifo_cogs': [1, 2, 3], 'tax_bp': 2000}, [{'reserve': 900, 'change': 400, 'fifo_cogs': -399, 'flag': 'build', 'deferral': 180}, {'reserve': 847, 'change': -53, 'fifo_cogs': 55, 'flag': 'decline', 'deferral': 169}, {'reserve': 1200, 'change': 353, 'fifo_cogs': -350, 'flag': 'build', 'deferral': 240}]]], [['rising reserve', {'begin': [5000, 4200], 'years': [[6000, 4704], [6500, 4900]], 'lifo_cogs': [20000, 21000], 'tax_bp': 2100}, [{'reserve': 1296, 'change': 496, 'fifo_cogs': 19504, 'flag': 'build', 'deferral': 272}, {'reserve': 1600, 'change': 304, 'fifo_cogs': 20696, 'flag': 'build', 'deferral': 336}]], ['declining reserve', {'begin': [8000, 5000], 'years': [[7000, 4800], [6000, 4496]], 'lifo_cogs': [30000, 31000], 'tax_bp': 2500}, [{'reserve': 2200, 'change': -800, 'fifo_cogs': 30800, 'flag': 'decline', 'deferral': 550}, {'reserve': 1504, 'change': -696, 'fifo_cogs': 31696, 'flag': 'decline', 'deferral': 376}]], ['flat year', {'begin': [3000, 2000], 'years': [[3500, 2500], [3604, 2604]], 'lifo_cogs': [9000, 9100], 'tax_bp': 3000}, [{'reserve': 1000, 'change': 0, 'fifo_cogs': 9000, 'flag': 'build', 'deferral': 300}, {'reserve': 1000, 'change': 0, 'fifo_cogs': 9100, 'flag': 'build', 'deferral': 300}]], ['single year', {'begin': [100, 100], 'years': [[904, 300]], 'lifo_cogs': [5000], 'tax_bp': 2150}, [{'reserve': 604, 'change': 604, 'fifo_cogs': 4396, 'flag': 'build', 'deferral': 130}]], ['odd tax', {'begin': [1000, 999], 'years': [[1003, 1000], [1014, 1001]], 'lifo_cogs': [700, 800], 'tax_bp': 3333}, [{'reserve': 3, 'change': 2, 'fifo_cogs': 698, 'flag': 'build', 'deferral': 1}, {'reserve': 13, 'change': 10, 'fifo_cogs': 790, 'flag': 'build', 'deferral': 4}]], ['deflation', {'begin': [1000, 1100], 'years': [[900, 1004]], 'lifo_cogs': [50], 'tax_bp': 2000}, [{'reserve': -104, 'change': -4, 'fifo_cogs': 54, 'flag': 'decline', 'deferral': -21}]], ['three years', {'begin': [2000, 1500], 'years': [[2600, 1700], [2500, 1654], [2900, 1700]], 'lifo_cogs': [1, 2, 3], 'tax_bp': 2000}, [{'reserve': 900, 'change': 400, 'fifo_cogs': -399, 'flag': 'build', 'deferral': 180}, {'reserve': 846, 'change': -54, 'fifo_cogs': 56, 'flag': 'decline', 'deferral': 169}, {'reserve': 1200, 'change': 354, 'fifo_cogs': -351, 'flag': 'build', 'deferral': 240}]]], [['rising reserve', {'begin': [5000, 4200], 'years': [[6000, 4705], [6500, 4900]], 'lifo_cogs': [20000, 21000], 'tax_bp': 2100}, [{'reserve': 1295, 'change': 495, 'fifo_cogs': 19505, 'flag': 'build', 'deferral': 272}, {'reserve': 1600, 'change': 305, 'fifo_cogs': 20695, 'flag': 'build', 'deferral': 336}]], ['declining reserve', {'begin': [8000, 5000], 'years': [[7000, 4800], [6000, 4495]], 'lifo_cogs': [30000, 31000], 'tax_bp': 2500}, [{'reserve': 2200, 'change': -800, 'fifo_cogs': 30800, 'flag': 'decline', 'deferral': 550}, {'reserve': 1505, 'change': -695, 'fifo_cogs': 31695, 'flag': 'decline', 'deferral': 376}]], ['flat year', {'begin': [3000, 2000], 'years': [[3500, 2500], [3605, 2605]], 'lifo_cogs': [9000, 9100], 'tax_bp': 3000}, [{'reserve': 1000, 'change': 0, 'fifo_cogs': 9000, 'flag': 'build', 'deferral': 300}, {'reserve': 1000, 'change': 0, 'fifo_cogs': 9100, 'flag': 'build', 'deferral': 300}]], ['single year', {'begin': [100, 100], 'years': [[905, 300]], 'lifo_cogs': [5000], 'tax_bp': 2150}, [{'reserve': 605, 'change': 605, 'fifo_cogs': 4395, 'flag': 'build', 'deferral': 130}]], ['odd tax', {'begin': [1000, 999], 'years': [[1003, 1000], [1015, 1001]], 'lifo_cogs': [700, 800], 'tax_bp': 3333}, [{'reserve': 3, 'change': 2, 'fifo_cogs': 698, 'flag': 'build', 'deferral': 1}, {'reserve': 14, 'change': 11, 'fifo_cogs': 789, 'flag': 'build', 'deferral': 5}]], ['deflation', {'begin': [1000, 1100], 'years': [[900, 1005]], 'lifo_cogs': [50], 'tax_bp': 2000}, [{'reserve': -105, 'change': -5, 'fifo_cogs': 55, 'flag': 'decline', 'deferral': -21}]], ['three years', {'begin': [2000, 1500], 'years': [[2600, 1700], [2500, 1655], [2900, 1700]], 'lifo_cogs': [1, 2, 3], 'tax_bp': 2000}, [{'reserve': 900, 'change': 400, 'fifo_cogs': -399, 'flag': 'build', 'deferral': 180}, {'reserve': 845, 'change': -55, 'fifo_cogs': 57, 'flag': 'decline', 'deferral': 169}, {'reserve': 1200, 'change': 355, 'fifo_cogs': -352, 'flag': 'build', 'deferral': 240}]]]]\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-lifo-reserve-rollforward-reserve-direction","generated_at":"2026-09-29T14:46:43.536923+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":"Reserve = FIFO value - LIFO value.","root_cause":"Reserve is computed as LIFO minus FIFO.","sha256":"653e278e41883a6bbeeb05fa3874f6c1eaaa1fee60468b2d700027b58608d23b","title":"LIFO reserve roll-forward: reserve direction · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.23,"exit_code":1,"observations":[{"actual":[{"change":499,"deferral":273,"fifo_cogs":19501,"flag":"build","reserve":1299},{"change":301,"deferral":336,"fifo_cogs":20699,"flag":"build","reserve":1600}],"check":"rising reserve","expected":[{"change":499,"deferral":273,"fifo_cogs":19501,"flag":"build","reserve":1299},{"change":301,"deferral":336,"fifo_cogs":20699,"flag":"build","reserve":1600}],"passed":true},{"actual":[{"change":-800,"deferral":550,"fifo_cogs":30800,"flag":"decline","reserve":2200},{"change":-699,"deferral":375,"fifo_cogs":31699,"flag":"decline","reserve":1501}],"check":"declining reserve","expected":[{"change":-800,"deferral":550,"fifo_cogs":30800,"flag":"decline","reserve":2200},{"change":-699,"deferral":375,"fifo_cogs":31699,"flag":"decline","reserve":1501}],"passed":true},{"actual":[{"change":0,"deferral":300,"fifo_cogs":9000,"flag":"build","reserve":1000},{"change":0,"deferral":300,"fifo_cogs":9100,"flag":"build","reserve":1000}],"check":"flat year","expected":[{"change":0,"deferral":300,"fifo_cogs":9000,"flag":"build","reserve":1000},{"change":0,"deferral":300,"fifo_cogs":9100,"flag":"build","reserve":1000}],"passed":true},{"actual":[{"change":601,"deferral":129,"fifo_cogs":4399,"flag":"build","reserve":601}],"check":"single year","expected":[{"change":601,"deferral":129,"fifo_cogs":4399,"flag":"build","reserve":601}],"passed":true},{"actual":[{"change":2,"deferral":1,"fifo_cogs":698,"flag":"build","reserve":3},{"change":7,"deferral":3,"fifo_cogs":793,"flag":"build","reserve":10}],"check":"odd tax","expected":[{"change":2,"deferral":1,"fifo_cogs":698,"flag":"build","reserve":3},{"change":7,"deferral":3,"fifo_cogs":793,"flag":"build","reserve":10}],"passed":true},{"actual":[{"change":201,"deferral":20,"fifo_cogs":-151,"flag":"build","reserve":101}],"check":"deflation","expected":[{"change":-1,"deferral":-20,"fifo_cogs":51,"flag":"decline","reserve":-101}],"passed":false},{"actual":[{"change":400,"deferral":180,"fifo_cogs":-399,"flag":"build","reserve":900},{"change":-51,"deferral":170,"fifo_cogs":53,"flag":"decline","reserve":849},{"change":351,"deferral":240,"fifo_cogs":-348,"flag":"build","reserve":1200}],"check":"three years","expected":[{"change":400,"deferral":180,"fifo_cogs":-399,"flag":"build","reserve":900},{"change":-51,"deferral":170,"fifo_cogs":53,"flag":"decline","reserve":849},{"change":351,"deferral":240,"fifo_cogs":-348,"flag":"build","reserve":1200}],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"rising reserve\", \"actual\": [{\"reserve\": 1299, \"change\": 499, \"fifo_cogs\": 19501, \"flag\": \"build\", \"deferral\": 273}, {\"reserve\": 1600, \"change\": 301, \"fifo_cogs\": 20699, \"flag\": \"build\", \"deferral\": 336}], \"expected\": [{\"reserve\": 1299, \"change\": 499, \"fifo_cogs\": 19501, \"flag\": \"build\", \"deferral\": 273}, {\"reserve\": 1600, \"change\": 301, \"fifo_cogs\": 20699, \"flag\": \"build\", \"deferral\": 336}], \"passed\": true}, {\"check\": \"declining reserve\", \"actual\": [{\"reserve\": 2200, \"change\": -800, \"fifo_cogs\": 30800, \"flag\": \"decline\", \"deferral\": 550}, {\"reserve\": 1501, \"change\": -699, \"fifo_cogs\": 31699, \"flag\": \"decline\", \"deferral\": 375}], \"expected\": [{\"reserve\": 2200, \"change\": -800, \"fifo_cogs\": 30800, \"flag\": \"decline\", \"deferral\": 550}, {\"reserve\": 1501, \"change\": -699, \"fifo_cogs\": 31699, \"flag\": \"decline\", \"deferral\": 375}], \"passed\": true}, {\"check\": \"flat year\", \"actual\": [{\"reserve\": 1000, \"change\": 0, \"fifo_cogs\": 9000, \"flag\": \"build\", \"deferral\": 300}, {\"reserve\": 1000, \"change\": 0, \"fifo_cogs\": 9100, \"flag\": \"build\", \"deferral\": 300}], \"expected\": [{\"reserve\": 1000, \"change\": 0, \"fifo_cogs\": 9000, \"flag\": \"build\", \"deferral\": 300}, {\"reserve\": 1000, \"change\": 0, \"fifo_cogs\": 9100, \"flag\": \"build\", \"deferral\": 300}], \"passed\": true}, {\"check\": \"single year\", \"actual\": [{\"reserve\": 601, \"change\": 601, \"fifo_cogs\": 4399, \"flag\": \"build\", \"deferral\": 129}], \"expected\": [{\"reserve\": 601, \"change\": 601, \"fifo_cogs\": 4399, \"flag\": \"build\", \"deferral\": 129}], \"passed\": true}, {\"check\": \"odd tax\", \"actual\": [{\"reserve\": 3, \"change\": 2, \"fifo_cogs\": 698, \"flag\": \"build\", \"deferral\": 1}, {\"reserve\": 10, \"change\": 7, \"fifo_cogs\": 793, \"flag\": \"build\", \"deferral\": 3}], \"expected\": [{\"reserve\": 3, \"change\": 2, \"fifo_cogs\": 698, \"flag\": \"build\", \"deferral\": 1}, {\"reserve\": 10, \"change\": 7, \"fifo_cogs\": 793, \"flag\": \"build\", \"deferral\": 3}], \"passed\": true}, {\"check\": \"deflation\", \"actual\": [{\"reserve\": 101, \"change\": 201, \"fifo_cogs\": -151, \"flag\": \"build\", \"deferral\": 20}], \"expected\": [{\"reserve\": -101, \"change\": -1, \"fifo_cogs\": 51, \"flag\": \"decline\", \"deferral\": -20}], \"passed\": false}, {\"check\": \"three years\", \"actual\": [{\"reserve\": 900, \"change\": 400, \"fifo_cogs\": -399, \"flag\": \"build\", \"deferral\": 180}, {\"reserve\": 849, \"change\": -51, \"fifo_cogs\": 53, \"flag\": \"decline\", \"deferral\": 170}, {\"reserve\": 1200, \"change\": 351, \"fifo_cogs\": -348, \"flag\": \"build\", \"deferral\": 240}], \"expected\": [{\"reserve\": 900, \"change\": 400, \"fifo_cogs\": -399, \"flag\": \"build\", \"deferral\": 180}, {\"reserve\": 849, \"change\": -51, \"fifo_cogs\": 53, \"flag\": \"decline\", \"deferral\": 170}, {\"reserve\": 1200, \"change\": 351, \"fifo_cogs\": -348, \"flag\": \"build\", \"deferral\": 240}], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.101,"exit_code":1,"observations":[{"actual":[{"change":-2099,"deferral":-273,"fifo_cogs":22099,"flag":"decline","reserve":-1299},{"change":-301,"deferral":-336,"fifo_cogs":21301,"flag":"decline","reserve":-1600}],"check":"rising reserve","expected":[{"change":499,"deferral":273,"fifo_cogs":19501,"flag":"build","reserve":1299},{"change":301,"deferral":336,"fifo_cogs":20699,"flag":"build","reserve":1600}],"passed":false},{"actual":[{"change":-5200,"deferral":-550,"fifo_cogs":35200,"flag":"decline","reserve":-2200},{"change":699,"deferral":-375,"fifo_cogs":30301,"flag":"build","reserve":-1501}],"check":"declining reserve","expected":[{"change":-800,"deferral":550,"fifo_cogs":30800,"flag":"decline","reserve":2200},{"change":-699,"deferral":375,"fifo_cogs":31699,"flag":"decline","reserve":1501}],"passed":false},{"actual":[{"change":-2000,"deferral":-300,"fifo_cogs":11000,"flag":"decline","reserve":-1000},{"change":0,"deferral":-300,"fifo_cogs":9100,"flag":"build","reserve":-1000}],"check":"flat year","expected":[{"change":0,"deferral":300,"fifo_cogs":9000,"flag":"build","reserve":1000},{"change":0,"deferral":300,"fifo_cogs":9100,"flag":"build","reserve":1000}],"passed":false},{"actual":[{"change":-601,"deferral":-129,"fifo_cogs":5601,"flag":"decline","reserve":-601}],"check":"single year","expected":[{"change":601,"deferral":129,"fifo_cogs":4399,"flag":"build","reserve":601}],"passed":false},{"actual":[{"change":-4,"deferral":-1,"fifo_cogs":704,"flag":"decline","reserve":-3},{"change":-7,"deferral":-3,"fifo_cogs":807,"flag":"decline","reserve":-10}],"check":"odd tax","expected":[{"change":2,"deferral":1,"fifo_cogs":698,"flag":"build","reserve":3},{"change":7,"deferral":3,"fifo_cogs":793,"flag":"build","reserve":10}],"passed":false},{"actual":[{"change":201,"deferral":20,"fifo_cogs":-151,"flag":"build","reserve":101}],"check":"deflation","expected":[{"change":-1,"deferral":-20,"fifo_cogs":51,"flag":"decline","reserve":-101}],"passed":false},{"actual":[{"change":-1400,"deferral":-180,"fifo_cogs":1401,"flag":"decline","reserve":-900},{"change":51,"deferral":-170,"fifo_cogs":-49,"flag":"build","reserve":-849},{"change":-351,"deferral":-240,"fifo_cogs":354,"flag":"decline","reserve":-1200}],"check":"three years","expected":[{"change":400,"deferral":180,"fifo_cogs":-399,"flag":"build","reserve":900},{"change":-51,"deferral":170,"fifo_cogs":53,"flag":"decline","reserve":849},{"change":351,"deferral":240,"fifo_cogs":-348,"flag":"build","reserve":1200}],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"rising reserve\", \"actual\": [{\"reserve\": -1299, \"change\": -2099, \"fifo_cogs\": 22099, \"flag\": \"decline\", \"deferral\": -273}, {\"reserve\": -1600, \"change\": -301, \"fifo_cogs\": 21301, \"flag\": \"decline\", \"deferral\": -336}], \"expected\": [{\"reserve\": 1299, \"change\": 499, \"fifo_cogs\": 19501, \"flag\": \"build\", \"deferral\": 273}, {\"reserve\": 1600, \"change\": 301, \"fifo_cogs\": 20699, \"flag\": \"build\", \"deferral\": 336}], \"passed\": false}, {\"check\": \"declining reserve\", \"actual\": [{\"reserve\": -2200, \"change\": -5200, \"fifo_cogs\": 35200, \"flag\": \"decline\", \"deferral\": -550}, {\"reserve\": -1501, \"change\": 699, \"fifo_cogs\": 30301, \"flag\": \"build\", \"deferral\": -375}], \"expected\": [{\"reserve\": 2200, \"change\": -800, \"fifo_cogs\": 30800, \"flag\": \"decline\", \"deferral\": 550}, {\"reserve\": 1501, \"change\": -699, \"fifo_cogs\": 31699, \"flag\": \"decline\", \"deferral\": 375}], \"passed\": false}, {\"check\": \"flat year\", \"actual\": [{\"reserve\": -1000, \"change\": -2000, \"fifo_cogs\": 11000, \"flag\": \"decline\", \"deferral\": -300}, {\"reserve\": -1000, \"change\": 0, \"fifo_cogs\": 9100, \"flag\": \"build\", \"deferral\": -300}], \"expected\": [{\"reserve\": 1000, \"change\": 0, \"fifo_cogs\": 9000, \"flag\": \"build\", \"deferral\": 300}, {\"reserve\": 1000, \"change\": 0, \"fifo_cogs\": 9100, \"flag\": \"build\", \"deferral\": 300}], \"passed\": false}, {\"check\": \"single year\", \"actual\": [{\"reserve\": -601, \"change\": -601, \"fifo_cogs\": 5601, \"flag\": \"decline\", \"deferral\": -129}], \"expected\": [{\"reserve\": 601, \"change\": 601, \"fifo_cogs\": 4399, \"flag\": \"build\", \"deferral\": 129}], \"passed\": false}, {\"check\": \"odd tax\", \"actual\": [{\"reserve\": -3, \"change\": -4, \"fifo_cogs\": 704, \"flag\": \"decline\", \"deferral\": -1}, {\"reserve\": -10, \"change\": -7, \"fifo_cogs\": 807, \"flag\": \"decline\", \"deferral\": -3}], \"expected\": [{\"reserve\": 3, \"change\": 2, \"fifo_cogs\": 698, \"flag\": \"build\", \"deferral\": 1}, {\"reserve\": 10, \"change\": 7, \"fifo_cogs\": 793, \"flag\": \"build\", \"deferral\": 3}], \"passed\": false}, {\"check\": \"deflation\", \"actual\": [{\"reserve\": 101, \"change\": 201, \"fifo_cogs\": -151, \"flag\": \"build\", \"deferral\": 20}], \"expected\": [{\"reserve\": -101, \"change\": -1, \"fifo_cogs\": 51, \"flag\": \"decline\", \"deferral\": -20}], \"passed\": false}, {\"check\": \"three years\", \"actual\": [{\"reserve\": -900, \"change\": -1400, \"fifo_cogs\": 1401, \"flag\": \"decline\", \"deferral\": -180}, {\"reserve\": -849, \"change\": 51, \"fifo_cogs\": -49, \"flag\": \"build\", \"deferral\": -170}, {\"reserve\": -1200, \"change\": -351, \"fifo_cogs\": 354, \"flag\": \"decline\", \"deferral\": -240}], \"expected\": [{\"reserve\": 900, \"change\": 400, \"fifo_cogs\": -399, \"flag\": \"build\", \"deferral\": 180}, {\"reserve\": 849, \"change\": -51, \"fifo_cogs\": 53, \"flag\": \"decline\", \"deferral\": 170}, {\"reserve\": 1200, \"change\": 351, \"fifo_cogs\": -348, \"flag\": \"build\", \"deferral\": 240}], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.692,"exit_code":0,"observations":[{"actual":[{"change":499,"deferral":273,"fifo_cogs":19501,"flag":"build","reserve":1299},{"change":301,"deferral":336,"fifo_cogs":20699,"flag":"build","reserve":1600}],"check":"rising reserve","expected":[{"change":499,"deferral":273,"fifo_cogs":19501,"flag":"build","reserve":1299},{"change":301,"deferral":336,"fifo_cogs":20699,"flag":"build","reserve":1600}],"passed":true},{"actual":[{"change":-800,"deferral":550,"fifo_cogs":30800,"flag":"decline","reserve":2200},{"change":-699,"deferral":375,"fifo_cogs":31699,"flag":"decline","reserve":1501}],"check":"declining reserve","expected":[{"change":-800,"deferral":550,"fifo_cogs":30800,"flag":"decline","reserve":2200},{"change":-699,"deferral":375,"fifo_cogs":31699,"flag":"decline","reserve":1501}],"passed":true},{"actual":[{"change":0,"deferral":300,"fifo_cogs":9000,"flag":"build","reserve":1000},{"change":0,"deferral":300,"fifo_cogs":9100,"flag":"build","reserve":1000}],"check":"flat year","expected":[{"change":0,"deferral":300,"fifo_cogs":9000,"flag":"build","reserve":1000},{"change":0,"deferral":300,"fifo_cogs":9100,"flag":"build","reserve":1000}],"passed":true},{"actual":[{"change":601,"deferral":129,"fifo_cogs":4399,"flag":"build","reserve":601}],"check":"single year","expected":[{"change":601,"deferral":129,"fifo_cogs":4399,"flag":"build","reserve":601}],"passed":true},{"actual":[{"change":2,"deferral":1,"fifo_cogs":698,"flag":"build","reserve":3},{"change":7,"deferral":3,"fifo_cogs":793,"flag":"build","reserve":10}],"check":"odd tax","expected":[{"change":2,"deferral":1,"fifo_cogs":698,"flag":"build","reserve":3},{"change":7,"deferral":3,"fifo_cogs":793,"flag":"build","reserve":10}],"passed":true},{"actual":[{"change":-1,"deferral":-20,"fifo_cogs":51,"flag":"decline","reserve":-101}],"check":"deflation","expected":[{"change":-1,"deferral":-20,"fifo_cogs":51,"flag":"decline","reserve":-101}],"passed":true},{"actual":[{"change":400,"deferral":180,"fifo_cogs":-399,"flag":"build","reserve":900},{"change":-51,"deferral":170,"fifo_cogs":53,"flag":"decline","reserve":849},{"change":351,"deferral":240,"fifo_cogs":-348,"flag":"build","reserve":1200}],"check":"three years","expected":[{"change":400,"deferral":180,"fifo_cogs":-399,"flag":"build","reserve":900},{"change":-51,"deferral":170,"fifo_cogs":53,"flag":"decline","reserve":849},{"change":351,"deferral":240,"fifo_cogs":-348,"flag":"build","reserve":1200}],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"rising reserve\", \"actual\": [{\"reserve\": 1299, \"change\": 499, \"fifo_cogs\": 19501, \"flag\": \"build\", \"deferral\": 273}, {\"reserve\": 1600, \"change\": 301, \"fifo_cogs\": 20699, \"flag\": \"build\", \"deferral\": 336}], \"expected\": [{\"reserve\": 1299, \"change\": 499, \"fifo_cogs\": 19501, \"flag\": \"build\", \"deferral\": 273}, {\"reserve\": 1600, \"change\": 301, \"fifo_cogs\": 20699, \"flag\": \"build\", \"deferral\": 336}], \"passed\": true}, {\"check\": \"declining reserve\", \"actual\": [{\"reserve\": 2200, \"change\": -800, \"fifo_cogs\": 30800, \"flag\": \"decline\", \"deferral\": 550}, {\"reserve\": 1501, \"change\": -699, \"fifo_cogs\": 31699, \"flag\": \"decline\", \"deferral\": 375}], \"expected\": [{\"reserve\": 2200, \"change\": -800, \"fifo_cogs\": 30800, \"flag\": \"decline\", \"deferral\": 550}, {\"reserve\": 1501, \"change\": -699, \"fifo_cogs\": 31699, \"flag\": \"decline\", \"deferral\": 375}], \"passed\": true}, {\"check\": \"flat year\", \"actual\": [{\"reserve\": 1000, \"change\": 0, \"fifo_cogs\": 9000, \"flag\": \"build\", \"deferral\": 300}, {\"reserve\": 1000, \"change\": 0, \"fifo_cogs\": 9100, \"flag\": \"build\", \"deferral\": 300}], \"expected\": [{\"reserve\": 1000, \"change\": 0, \"fifo_cogs\": 9000, \"flag\": \"build\", \"deferral\": 300}, {\"reserve\": 1000, \"change\": 0, \"fifo_cogs\": 9100, \"flag\": \"build\", \"deferral\": 300}], \"passed\": true}, {\"check\": \"single year\", \"actual\": [{\"reserve\": 601, \"change\": 601, \"fifo_cogs\": 4399, \"flag\": \"build\", \"deferral\": 129}], \"expected\": [{\"reserve\": 601, \"change\": 601, \"fifo_cogs\": 4399, \"flag\": \"build\", \"deferral\": 129}], \"passed\": true}, {\"check\": \"odd tax\", \"actual\": [{\"reserve\": 3, \"change\": 2, \"fifo_cogs\": 698, \"flag\": \"build\", \"deferral\": 1}, {\"reserve\": 10, \"change\": 7, \"fifo_cogs\": 793, \"flag\": \"build\", \"deferral\": 3}], \"expected\": [{\"reserve\": 3, \"change\": 2, \"fifo_cogs\": 698, \"flag\": \"build\", \"deferral\": 1}, {\"reserve\": 10, \"change\": 7, \"fifo_cogs\": 793, \"flag\": \"build\", \"deferral\": 3}], \"passed\": true}, {\"check\": \"deflation\", \"actual\": [{\"reserve\": -101, \"change\": -1, \"fifo_cogs\": 51, \"flag\": \"decline\", \"deferral\": -20}], \"expected\": [{\"reserve\": -101, \"change\": -1, \"fifo_cogs\": 51, \"flag\": \"decline\", \"deferral\": -20}], \"passed\": true}, {\"check\": \"three years\", \"actual\": [{\"reserve\": 900, \"change\": 400, \"fifo_cogs\": -399, \"flag\": \"build\", \"deferral\": 180}, {\"reserve\": 849, \"change\": -51, \"fifo_cogs\": 53, \"flag\": \"decline\", \"deferral\": 170}, {\"reserve\": 1200, \"change\": 351, \"fifo_cogs\": -348, \"flag\": \"build\", \"deferral\": 240}], \"expected\": [{\"reserve\": 900, \"change\": 400, \"fifo_cogs\": -399, \"flag\": \"build\", \"deferral\": 180}, {\"reserve\": 849, \"change\": -51, \"fifo_cogs\": 53, \"flag\": \"decline\", \"deferral\": 170}, {\"reserve\": 1200, \"change\": 351, \"fifo_cogs\": -348, \"flag\": \"build\", \"deferral\": 240}], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}