{"abstract":"Work-in-process items that still need finishing are carried above what they will realize.","category":"Inventory cost layering","checks":8,"contract":"Input {items:[{sku,qty,cost,price,complete,sell_bp,group}], prior:{sku:carrying unit}}. NRV = price - complete - round-half-up(price*sell_bp/10000), floored at 0. Carrying unit = min(original cost, NRV). Adjustment = qty*(carrying - prior carrying), prior defaulting to original cost (reversals are thereby capped at cost). Group check: write-down per group = max(0, sum qty*cost - sum qty*NRV). Return {items:[[sku,carry,adj]], group_writedown}.","contract_signature":"x","evaluation_group":"w2-inventory-cost-layering-lcnrv-writedown","failed_approach":"Deducting completion cost but dropping selling cost trades one omission for another.","family":"w2-inventory-cost-layering-lcnrv-writedown-completion-cost-deduction","id":"FA-59971","implementations":{"attempt":{"sha256":"d9089841b3b940a43bf53cc04f03841f16efbfc17032b8690826ada06f9d35c1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    res = []\n    groups = {}\n    for it in x['items']:\n        sell = (it['price'] * it['sell_bp'] + 5000) // 10000\n        nrv = it['price'] - it['complete']\n        if nrv < 0:\n            nrv = 0\n        carry = min(it['cost'], nrv)\n        prior = x['prior'].get(it['sku'], it['cost'])\n        res.append([it['sku'], carry, it['qty'] * (carry - prior)])\n        g = groups.setdefault(it['group'], [0, 0])\n        g[0] += it['qty'] * it['cost']\n        g[1] += it['qty'] * nrv\n    gw = {k: max(0, v[0] - v[1]) for k, v in sorted(groups.items())}\n    return {'items': res, 'group_writedown': gw}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['write down', {'items': [{'sku': 'A', 'qty': 5, 'cost': 1000, 'price': 1100, 'complete': 100, 'sell_bp': 1001, 'group': 'g1'}], 'prior': {}}, {'items': [['A', 890, -550]], 'group_writedown': {'g1': 550}}], ['no write down', {'items': [{'sku': 'B', 'qty': 2, 'cost': 500, 'price': 900, 'complete': 50, 'sell_bp': 500, 'group': 'g1'}], 'prior': {}}, {'items': [['B', 500, 0]], 'group_writedown': {'g1': 0}}], ['negative nrv', {'items': [{'sku': 'C', 'qty': 3, 'cost': 400, 'price': 300, 'complete': 251, 'sell_bp': 2000, 'group': 'g2'}], 'prior': {}}, {'items': [['C', 0, -1200]], 'group_writedown': {'g2': 1200}}], ['reversal capped', {'items': [{'sku': 'D', 'qty': 4, 'cost': 800, 'price': 1500, 'complete': 0, 'sell_bp': 0, 'group': 'g2'}], 'prior': {'D': 601}}, {'items': [['D', 800, 796]], 'group_writedown': {'g2': 0}}], ['partial reversal', {'items': [{'sku': 'E', 'qty': 1, 'cost': 800, 'price': 850, 'complete': 0, 'sell_bp': 1000, 'group': 'g1'}], 'prior': {'E': 700}}, {'items': [['E', 765, 65]], 'group_writedown': {'g1': 35}}], ['group offset', {'items': [{'sku': 'F', 'qty': 1, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}, {'sku': 'G', 'qty': 1, 'cost': 200, 'price': 601, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}], 'prior': {}}, {'items': [['F', 700, -300], ['G', 200, 0]], 'group_writedown': {'g3': 0}}], ['group loss', {'items': [{'sku': 'H', 'qty': 2, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}, {'sku': 'J', 'qty': 1, 'cost': 200, 'price': 250, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}], 'prior': {'H': 900}}, {'items': [['H', 700, -400], ['J', 200, 0]], 'group_writedown': {'g4': 550}}], ['costly completion', {'items': [{'sku': 'K', 'qty': 1, 'cost': 300, 'price': 1000, 'complete': 900, 'sell_bp': 500, 'group': 'g5'}], 'prior': {}}, {'items': [['K', 50, -250]], 'group_writedown': {'g5': 250}}]], [['write down', {'items': [{'sku': 'A', 'qty': 5, 'cost': 1000, 'price': 1100, 'complete': 100, 'sell_bp': 1002, 'group': 'g1'}], 'prior': {}}, {'items': [['A', 890, -550]], 'group_writedown': {'g1': 550}}], ['no write down', {'items': [{'sku': 'B', 'qty': 2, 'cost': 500, 'price': 900, 'complete': 50, 'sell_bp': 500, 'group': 'g1'}], 'prior': {}}, {'items': [['B', 500, 0]], 'group_writedown': {'g1': 0}}], ['negative nrv', {'items': [{'sku': 'C', 'qty': 3, 'cost': 400, 'price': 300, 'complete': 252, 'sell_bp': 2000, 'group': 'g2'}], 'prior': {}}, {'items': [['C', 0, -1200]], 'group_writedown': {'g2': 1200}}], ['reversal capped', {'items': [{'sku': 'D', 'qty': 4, 'cost': 800, 'price': 1500, 'complete': 0, 'sell_bp': 0, 'group': 'g2'}], 'prior': {'D': 602}}, {'items': [['D', 800, 792]], 'group_writedown': {'g2': 0}}], ['partial reversal', {'items': [{'sku': 'E', 'qty': 1, 'cost': 800, 'price': 850, 'complete': 0, 'sell_bp': 1000, 'group': 'g1'}], 'prior': {'E': 700}}, {'items': [['E', 765, 65]], 'group_writedown': {'g1': 35}}], ['group offset', {'items': [{'sku': 'F', 'qty': 1, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}, {'sku': 'G', 'qty': 1, 'cost': 200, 'price': 602, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}], 'prior': {}}, {'items': [['F', 700, -300], ['G', 200, 0]], 'group_writedown': {'g3': 0}}], ['group loss', {'items': [{'sku': 'H', 'qty': 2, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}, {'sku': 'J', 'qty': 1, 'cost': 200, 'price': 250, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}], 'prior': {'H': 900}}, {'items': [['H', 700, -400], ['J', 200, 0]], 'group_writedown': {'g4': 550}}], ['costly completion', {'items': [{'sku': 'K', 'qty': 1, 'cost': 300, 'price': 1000, 'complete': 900, 'sell_bp': 500, 'group': 'g5'}], 'prior': {}}, {'items': [['K', 50, -250]], 'group_writedown': {'g5': 250}}]], [['write down', {'items': [{'sku': 'A', 'qty': 5, 'cost': 1000, 'price': 1100, 'complete': 100, 'sell_bp': 1003, 'group': 'g1'}], 'prior': {}}, {'items': [['A', 890, -550]], 'group_writedown': {'g1': 550}}], ['no write down', {'items': [{'sku': 'B', 'qty': 2, 'cost': 500, 'price': 900, 'complete': 50, 'sell_bp': 500, 'group': 'g1'}], 'prior': {}}, {'items': [['B', 500, 0]], 'group_writedown': {'g1': 0}}], ['negative nrv', {'items': [{'sku': 'C', 'qty': 3, 'cost': 400, 'price': 300, 'complete': 253, 'sell_bp': 2000, 'group': 'g2'}], 'prior': {}}, {'items': [['C', 0, -1200]], 'group_writedown': {'g2': 1200}}], ['reversal capped', {'items': [{'sku': 'D', 'qty': 4, 'cost': 800, 'price': 1500, 'complete': 0, 'sell_bp': 0, 'group': 'g2'}], 'prior': {'D': 603}}, {'items': [['D', 800, 788]], 'group_writedown': {'g2': 0}}], ['partial reversal', {'items': [{'sku': 'E', 'qty': 1, 'cost': 800, 'price': 850, 'complete': 0, 'sell_bp': 1000, 'group': 'g1'}], 'prior': {'E': 700}}, {'items': [['E', 765, 65]], 'group_writedown': {'g1': 35}}], ['group offset', {'items': [{'sku': 'F', 'qty': 1, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}, {'sku': 'G', 'qty': 1, 'cost': 200, 'price': 603, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}], 'prior': {}}, {'items': [['F', 700, -300], ['G', 200, 0]], 'group_writedown': {'g3': 0}}], ['group loss', {'items': [{'sku': 'H', 'qty': 2, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}, {'sku': 'J', 'qty': 1, 'cost': 200, 'price': 250, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}], 'prior': {'H': 900}}, {'items': [['H', 700, -400], ['J', 200, 0]], 'group_writedown': {'g4': 550}}], ['costly completion', {'items': [{'sku': 'K', 'qty': 1, 'cost': 300, 'price': 1000, 'complete': 900, 'sell_bp': 500, 'group': 'g5'}], 'prior': {}}, {'items': [['K', 50, -250]], 'group_writedown': {'g5': 250}}]], [['write down', {'items': [{'sku': 'A', 'qty': 5, 'cost': 1000, 'price': 1100, 'complete': 100, 'sell_bp': 1004, 'group': 'g1'}], 'prior': {}}, {'items': [['A', 890, -550]], 'group_writedown': {'g1': 550}}], ['no write down', {'items': [{'sku': 'B', 'qty': 2, 'cost': 500, 'price': 900, 'complete': 50, 'sell_bp': 500, 'group': 'g1'}], 'prior': {}}, {'items': [['B', 500, 0]], 'group_writedown': {'g1': 0}}], ['negative nrv', {'items': [{'sku': 'C', 'qty': 3, 'cost': 400, 'price': 300, 'complete': 254, 'sell_bp': 2000, 'group': 'g2'}], 'prior': {}}, {'items': [['C', 0, -1200]], 'group_writedown': {'g2': 1200}}], ['reversal capped', {'items': [{'sku': 'D', 'qty': 4, 'cost': 800, 'price': 1500, 'complete': 0, 'sell_bp': 0, 'group': 'g2'}], 'prior': {'D': 604}}, {'items': [['D', 800, 784]], 'group_writedown': {'g2': 0}}], ['partial reversal', {'items': [{'sku': 'E', 'qty': 1, 'cost': 800, 'price': 850, 'complete': 0, 'sell_bp': 1000, 'group': 'g1'}], 'prior': {'E': 700}}, {'items': [['E', 765, 65]], 'group_writedown': {'g1': 35}}], ['group offset', {'items': [{'sku': 'F', 'qty': 1, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}, {'sku': 'G', 'qty': 1, 'cost': 200, 'price': 604, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}], 'prior': {}}, {'items': [['F', 700, -300], ['G', 200, 0]], 'group_writedown': {'g3': 0}}], ['group loss', {'items': [{'sku': 'H', 'qty': 2, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}, {'sku': 'J', 'qty': 1, 'cost': 200, 'price': 250, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}], 'prior': {'H': 900}}, {'items': [['H', 700, -400], ['J', 200, 0]], 'group_writedown': {'g4': 550}}], ['costly completion', {'items': [{'sku': 'K', 'qty': 1, 'cost': 300, 'price': 1000, 'complete': 900, 'sell_bp': 500, 'group': 'g5'}], 'prior': {}}, {'items': [['K', 50, -250]], 'group_writedown': {'g5': 250}}]], [['write down', {'items': [{'sku': 'A', 'qty': 5, 'cost': 1000, 'price': 1100, 'complete': 100, 'sell_bp': 1005, 'group': 'g1'}], 'prior': {}}, {'items': [['A', 889, -555]], 'group_writedown': {'g1': 555}}], ['no write down', {'items': [{'sku': 'B', 'qty': 2, 'cost': 500, 'price': 900, 'complete': 50, 'sell_bp': 500, 'group': 'g1'}], 'prior': {}}, {'items': [['B', 500, 0]], 'group_writedown': {'g1': 0}}], ['negative nrv', {'items': [{'sku': 'C', 'qty': 3, 'cost': 400, 'price': 300, 'complete': 255, 'sell_bp': 2000, 'group': 'g2'}], 'prior': {}}, {'items': [['C', 0, -1200]], 'group_writedown': {'g2': 1200}}], ['reversal capped', {'items': [{'sku': 'D', 'qty': 4, 'cost': 800, 'price': 1500, 'complete': 0, 'sell_bp': 0, 'group': 'g2'}], 'prior': {'D': 605}}, {'items': [['D', 800, 780]], 'group_writedown': {'g2': 0}}], ['partial reversal', {'items': [{'sku': 'E', 'qty': 1, 'cost': 800, 'price': 850, 'complete': 0, 'sell_bp': 1000, 'group': 'g1'}], 'prior': {'E': 700}}, {'items': [['E', 765, 65]], 'group_writedown': {'g1': 35}}], ['group offset', {'items': [{'sku': 'F', 'qty': 1, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}, {'sku': 'G', 'qty': 1, 'cost': 200, 'price': 605, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}], 'prior': {}}, {'items': [['F', 700, -300], ['G', 200, 0]], 'group_writedown': {'g3': 0}}], ['group loss', {'items': [{'sku': 'H', 'qty': 2, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}, {'sku': 'J', 'qty': 1, 'cost': 200, 'price': 250, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}], 'prior': {'H': 900}}, {'items': [['H', 700, -400], ['J', 200, 0]], 'group_writedown': {'g4': 550}}], ['costly completion', {'items': [{'sku': 'K', 'qty': 1, 'cost': 300, 'price': 1000, 'complete': 900, 'sell_bp': 500, 'group': 'g5'}], 'prior': {}}, {'items': [['K', 50, -250]], 'group_writedown': {'g5': 250}}]]]\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":"8847cf122cfd50b2d37c0928b5607f334b1026d78ae3539c26814cee49401b84","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    res = []\n    groups = {}\n    for it in x['items']:\n        sell = (it['price'] * it['sell_bp'] + 5000) // 10000\n        nrv = it['price'] - sell\n        if nrv < 0:\n            nrv = 0\n        carry = min(it['cost'], nrv)\n        prior = x['prior'].get(it['sku'], it['cost'])\n        res.append([it['sku'], carry, it['qty'] * (carry - prior)])\n        g = groups.setdefault(it['group'], [0, 0])\n        g[0] += it['qty'] * it['cost']\n        g[1] += it['qty'] * nrv\n    gw = {k: max(0, v[0] - v[1]) for k, v in sorted(groups.items())}\n    return {'items': res, 'group_writedown': gw}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['write down', {'items': [{'sku': 'A', 'qty': 5, 'cost': 1000, 'price': 1100, 'complete': 100, 'sell_bp': 1001, 'group': 'g1'}], 'prior': {}}, {'items': [['A', 890, -550]], 'group_writedown': {'g1': 550}}], ['no write down', {'items': [{'sku': 'B', 'qty': 2, 'cost': 500, 'price': 900, 'complete': 50, 'sell_bp': 500, 'group': 'g1'}], 'prior': {}}, {'items': [['B', 500, 0]], 'group_writedown': {'g1': 0}}], ['negative nrv', {'items': [{'sku': 'C', 'qty': 3, 'cost': 400, 'price': 300, 'complete': 251, 'sell_bp': 2000, 'group': 'g2'}], 'prior': {}}, {'items': [['C', 0, -1200]], 'group_writedown': {'g2': 1200}}], ['reversal capped', {'items': [{'sku': 'D', 'qty': 4, 'cost': 800, 'price': 1500, 'complete': 0, 'sell_bp': 0, 'group': 'g2'}], 'prior': {'D': 601}}, {'items': [['D', 800, 796]], 'group_writedown': {'g2': 0}}], ['partial reversal', {'items': [{'sku': 'E', 'qty': 1, 'cost': 800, 'price': 850, 'complete': 0, 'sell_bp': 1000, 'group': 'g1'}], 'prior': {'E': 700}}, {'items': [['E', 765, 65]], 'group_writedown': {'g1': 35}}], ['group offset', {'items': [{'sku': 'F', 'qty': 1, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}, {'sku': 'G', 'qty': 1, 'cost': 200, 'price': 601, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}], 'prior': {}}, {'items': [['F', 700, -300], ['G', 200, 0]], 'group_writedown': {'g3': 0}}], ['group loss', {'items': [{'sku': 'H', 'qty': 2, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}, {'sku': 'J', 'qty': 1, 'cost': 200, 'price': 250, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}], 'prior': {'H': 900}}, {'items': [['H', 700, -400], ['J', 200, 0]], 'group_writedown': {'g4': 550}}], ['costly completion', {'items': [{'sku': 'K', 'qty': 1, 'cost': 300, 'price': 1000, 'complete': 900, 'sell_bp': 500, 'group': 'g5'}], 'prior': {}}, {'items': [['K', 50, -250]], 'group_writedown': {'g5': 250}}]], [['write down', {'items': [{'sku': 'A', 'qty': 5, 'cost': 1000, 'price': 1100, 'complete': 100, 'sell_bp': 1002, 'group': 'g1'}], 'prior': {}}, {'items': [['A', 890, -550]], 'group_writedown': {'g1': 550}}], ['no write down', {'items': [{'sku': 'B', 'qty': 2, 'cost': 500, 'price': 900, 'complete': 50, 'sell_bp': 500, 'group': 'g1'}], 'prior': {}}, {'items': [['B', 500, 0]], 'group_writedown': {'g1': 0}}], ['negative nrv', {'items': [{'sku': 'C', 'qty': 3, 'cost': 400, 'price': 300, 'complete': 252, 'sell_bp': 2000, 'group': 'g2'}], 'prior': {}}, {'items': [['C', 0, -1200]], 'group_writedown': {'g2': 1200}}], ['reversal capped', {'items': [{'sku': 'D', 'qty': 4, 'cost': 800, 'price': 1500, 'complete': 0, 'sell_bp': 0, 'group': 'g2'}], 'prior': {'D': 602}}, {'items': [['D', 800, 792]], 'group_writedown': {'g2': 0}}], ['partial reversal', {'items': [{'sku': 'E', 'qty': 1, 'cost': 800, 'price': 850, 'complete': 0, 'sell_bp': 1000, 'group': 'g1'}], 'prior': {'E': 700}}, {'items': [['E', 765, 65]], 'group_writedown': {'g1': 35}}], ['group offset', {'items': [{'sku': 'F', 'qty': 1, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}, {'sku': 'G', 'qty': 1, 'cost': 200, 'price': 602, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}], 'prior': {}}, {'items': [['F', 700, -300], ['G', 200, 0]], 'group_writedown': {'g3': 0}}], ['group loss', {'items': [{'sku': 'H', 'qty': 2, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}, {'sku': 'J', 'qty': 1, 'cost': 200, 'price': 250, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}], 'prior': {'H': 900}}, {'items': [['H', 700, -400], ['J', 200, 0]], 'group_writedown': {'g4': 550}}], ['costly completion', {'items': [{'sku': 'K', 'qty': 1, 'cost': 300, 'price': 1000, 'complete': 900, 'sell_bp': 500, 'group': 'g5'}], 'prior': {}}, {'items': [['K', 50, -250]], 'group_writedown': {'g5': 250}}]], [['write down', {'items': [{'sku': 'A', 'qty': 5, 'cost': 1000, 'price': 1100, 'complete': 100, 'sell_bp': 1003, 'group': 'g1'}], 'prior': {}}, {'items': [['A', 890, -550]], 'group_writedown': {'g1': 550}}], ['no write down', {'items': [{'sku': 'B', 'qty': 2, 'cost': 500, 'price': 900, 'complete': 50, 'sell_bp': 500, 'group': 'g1'}], 'prior': {}}, {'items': [['B', 500, 0]], 'group_writedown': {'g1': 0}}], ['negative nrv', {'items': [{'sku': 'C', 'qty': 3, 'cost': 400, 'price': 300, 'complete': 253, 'sell_bp': 2000, 'group': 'g2'}], 'prior': {}}, {'items': [['C', 0, -1200]], 'group_writedown': {'g2': 1200}}], ['reversal capped', {'items': [{'sku': 'D', 'qty': 4, 'cost': 800, 'price': 1500, 'complete': 0, 'sell_bp': 0, 'group': 'g2'}], 'prior': {'D': 603}}, {'items': [['D', 800, 788]], 'group_writedown': {'g2': 0}}], ['partial reversal', {'items': [{'sku': 'E', 'qty': 1, 'cost': 800, 'price': 850, 'complete': 0, 'sell_bp': 1000, 'group': 'g1'}], 'prior': {'E': 700}}, {'items': [['E', 765, 65]], 'group_writedown': {'g1': 35}}], ['group offset', {'items': [{'sku': 'F', 'qty': 1, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}, {'sku': 'G', 'qty': 1, 'cost': 200, 'price': 603, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}], 'prior': {}}, {'items': [['F', 700, -300], ['G', 200, 0]], 'group_writedown': {'g3': 0}}], ['group loss', {'items': [{'sku': 'H', 'qty': 2, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}, {'sku': 'J', 'qty': 1, 'cost': 200, 'price': 250, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}], 'prior': {'H': 900}}, {'items': [['H', 700, -400], ['J', 200, 0]], 'group_writedown': {'g4': 550}}], ['costly completion', {'items': [{'sku': 'K', 'qty': 1, 'cost': 300, 'price': 1000, 'complete': 900, 'sell_bp': 500, 'group': 'g5'}], 'prior': {}}, {'items': [['K', 50, -250]], 'group_writedown': {'g5': 250}}]], [['write down', {'items': [{'sku': 'A', 'qty': 5, 'cost': 1000, 'price': 1100, 'complete': 100, 'sell_bp': 1004, 'group': 'g1'}], 'prior': {}}, {'items': [['A', 890, -550]], 'group_writedown': {'g1': 550}}], ['no write down', {'items': [{'sku': 'B', 'qty': 2, 'cost': 500, 'price': 900, 'complete': 50, 'sell_bp': 500, 'group': 'g1'}], 'prior': {}}, {'items': [['B', 500, 0]], 'group_writedown': {'g1': 0}}], ['negative nrv', {'items': [{'sku': 'C', 'qty': 3, 'cost': 400, 'price': 300, 'complete': 254, 'sell_bp': 2000, 'group': 'g2'}], 'prior': {}}, {'items': [['C', 0, -1200]], 'group_writedown': {'g2': 1200}}], ['reversal capped', {'items': [{'sku': 'D', 'qty': 4, 'cost': 800, 'price': 1500, 'complete': 0, 'sell_bp': 0, 'group': 'g2'}], 'prior': {'D': 604}}, {'items': [['D', 800, 784]], 'group_writedown': {'g2': 0}}], ['partial reversal', {'items': [{'sku': 'E', 'qty': 1, 'cost': 800, 'price': 850, 'complete': 0, 'sell_bp': 1000, 'group': 'g1'}], 'prior': {'E': 700}}, {'items': [['E', 765, 65]], 'group_writedown': {'g1': 35}}], ['group offset', {'items': [{'sku': 'F', 'qty': 1, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}, {'sku': 'G', 'qty': 1, 'cost': 200, 'price': 604, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}], 'prior': {}}, {'items': [['F', 700, -300], ['G', 200, 0]], 'group_writedown': {'g3': 0}}], ['group loss', {'items': [{'sku': 'H', 'qty': 2, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}, {'sku': 'J', 'qty': 1, 'cost': 200, 'price': 250, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}], 'prior': {'H': 900}}, {'items': [['H', 700, -400], ['J', 200, 0]], 'group_writedown': {'g4': 550}}], ['costly completion', {'items': [{'sku': 'K', 'qty': 1, 'cost': 300, 'price': 1000, 'complete': 900, 'sell_bp': 500, 'group': 'g5'}], 'prior': {}}, {'items': [['K', 50, -250]], 'group_writedown': {'g5': 250}}]], [['write down', {'items': [{'sku': 'A', 'qty': 5, 'cost': 1000, 'price': 1100, 'complete': 100, 'sell_bp': 1005, 'group': 'g1'}], 'prior': {}}, {'items': [['A', 889, -555]], 'group_writedown': {'g1': 555}}], ['no write down', {'items': [{'sku': 'B', 'qty': 2, 'cost': 500, 'price': 900, 'complete': 50, 'sell_bp': 500, 'group': 'g1'}], 'prior': {}}, {'items': [['B', 500, 0]], 'group_writedown': {'g1': 0}}], ['negative nrv', {'items': [{'sku': 'C', 'qty': 3, 'cost': 400, 'price': 300, 'complete': 255, 'sell_bp': 2000, 'group': 'g2'}], 'prior': {}}, {'items': [['C', 0, -1200]], 'group_writedown': {'g2': 1200}}], ['reversal capped', {'items': [{'sku': 'D', 'qty': 4, 'cost': 800, 'price': 1500, 'complete': 0, 'sell_bp': 0, 'group': 'g2'}], 'prior': {'D': 605}}, {'items': [['D', 800, 780]], 'group_writedown': {'g2': 0}}], ['partial reversal', {'items': [{'sku': 'E', 'qty': 1, 'cost': 800, 'price': 850, 'complete': 0, 'sell_bp': 1000, 'group': 'g1'}], 'prior': {'E': 700}}, {'items': [['E', 765, 65]], 'group_writedown': {'g1': 35}}], ['group offset', {'items': [{'sku': 'F', 'qty': 1, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}, {'sku': 'G', 'qty': 1, 'cost': 200, 'price': 605, 'complete': 0, 'sell_bp': 0, 'group': 'g3'}], 'prior': {}}, {'items': [['F', 700, -300], ['G', 200, 0]], 'group_writedown': {'g3': 0}}], ['group loss', {'items': [{'sku': 'H', 'qty': 2, 'cost': 1000, 'price': 700, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}, {'sku': 'J', 'qty': 1, 'cost': 200, 'price': 250, 'complete': 0, 'sell_bp': 0, 'group': 'g4'}], 'prior': {'H': 900}}, {'items': [['H', 700, -400], ['J', 200, 0]], 'group_writedown': {'g4': 550}}], ['costly completion', {'items': [{'sku': 'K', 'qty': 1, 'cost': 300, 'price': 1000, 'complete': 900, 'sell_bp': 500, 'group': 'g5'}], 'prior': {}}, {'items': [['K', 50, -250]], 'group_writedown': {'g5': 250}}]]]\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-lcnrv-writedown-completion-cost-deduction","generated_at":"2026-09-29T14:46:41.453564+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Inventory valuation and cost-of-goods decisions depend on this rule.","root_cause":"NRV deducts selling costs but not the cost to complete.","sha256":"465ad01fa532620b58a1399de06b5032c5779c0a22ee13f69c1a1bfb023830f8","title":"Lower of cost and net realizable value: completion cost deduction · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":39.248,"exit_code":1,"observations":[{"actual":{"group_writedown":{"g1":0},"items":[["A",1000,0]]},"check":"write down","expected":{"group_writedown":{"g1":550},"items":[["A",890,-550]]},"passed":false},{"actual":{"group_writedown":{"g1":0},"items":[["B",500,0]]},"check":"no write down","expected":{"group_writedown":{"g1":0},"items":[["B",500,0]]},"passed":true},{"actual":{"group_writedown":{"g2":1053},"items":[["C",49,-1053]]},"check":"negative nrv","expected":{"group_writedown":{"g2":1200},"items":[["C",0,-1200]]},"passed":false},{"actual":{"group_writedown":{"g2":0},"items":[["D",800,796]]},"check":"reversal capped","expected":{"group_writedown":{"g2":0},"items":[["D",800,796]]},"passed":true},{"actual":{"group_writedown":{"g1":0},"items":[["E",800,100]]},"check":"partial reversal","expected":{"group_writedown":{"g1":35},"items":[["E",765,65]]},"passed":false},{"actual":{"group_writedown":{"g3":0},"items":[["F",700,-300],["G",200,0]]},"check":"group offset","expected":{"group_writedown":{"g3":0},"items":[["F",700,-300],["G",200,0]]},"passed":true},{"actual":{"group_writedown":{"g4":550},"items":[["H",700,-400],["J",200,0]]},"check":"group loss","expected":{"group_writedown":{"g4":550},"items":[["H",700,-400],["J",200,0]]},"passed":true},{"actual":{"group_writedown":{"g5":200},"items":[["K",100,-200]]},"check":"costly completion","expected":{"group_writedown":{"g5":250},"items":[["K",50,-250]]},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"write down\", \"actual\": {\"items\": [[\"A\", 1000, 0]], \"group_writedown\": {\"g1\": 0}}, \"expected\": {\"items\": [[\"A\", 890, -550]], \"group_writedown\": {\"g1\": 550}}, \"passed\": false}, {\"check\": \"no write down\", \"actual\": {\"items\": [[\"B\", 500, 0]], \"group_writedown\": {\"g1\": 0}}, \"expected\": {\"items\": [[\"B\", 500, 0]], \"group_writedown\": {\"g1\": 0}}, \"passed\": true}, {\"check\": \"negative nrv\", \"actual\": {\"items\": [[\"C\", 49, -1053]], \"group_writedown\": {\"g2\": 1053}}, \"expected\": {\"items\": [[\"C\", 0, -1200]], \"group_writedown\": {\"g2\": 1200}}, \"passed\": false}, {\"check\": \"reversal capped\", \"actual\": {\"items\": [[\"D\", 800, 796]], \"group_writedown\": {\"g2\": 0}}, \"expected\": {\"items\": [[\"D\", 800, 796]], \"group_writedown\": {\"g2\": 0}}, \"passed\": true}, {\"check\": \"partial reversal\", \"actual\": {\"items\": [[\"E\", 800, 100]], \"group_writedown\": {\"g1\": 0}}, \"expected\": {\"items\": [[\"E\", 765, 65]], \"group_writedown\": {\"g1\": 35}}, \"passed\": false}, {\"check\": \"group offset\", \"actual\": {\"items\": [[\"F\", 700, -300], [\"G\", 200, 0]], \"group_writedown\": {\"g3\": 0}}, \"expected\": {\"items\": [[\"F\", 700, -300], [\"G\", 200, 0]], \"group_writedown\": {\"g3\": 0}}, \"passed\": true}, {\"check\": \"group loss\", \"actual\": {\"items\": [[\"H\", 700, -400], [\"J\", 200, 0]], \"group_writedown\": {\"g4\": 550}}, \"expected\": {\"items\": [[\"H\", 700, -400], [\"J\", 200, 0]], \"group_writedown\": {\"g4\": 550}}, \"passed\": true}, {\"check\": \"costly completion\", \"actual\": {\"items\": [[\"K\", 100, -200]], \"group_writedown\": {\"g5\": 200}}, \"expected\": {\"items\": [[\"K\", 50, -250]], \"group_writedown\": {\"g5\": 250}}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.155,"exit_code":1,"observations":[{"actual":{"group_writedown":{"g1":50},"items":[["A",990,-50]]},"check":"write down","expected":{"group_writedown":{"g1":550},"items":[["A",890,-550]]},"passed":false},{"actual":{"group_writedown":{"g1":0},"items":[["B",500,0]]},"check":"no write down","expected":{"group_writedown":{"g1":0},"items":[["B",500,0]]},"passed":true},{"actual":{"group_writedown":{"g2":480},"items":[["C",240,-480]]},"check":"negative nrv","expected":{"group_writedown":{"g2":1200},"items":[["C",0,-1200]]},"passed":false},{"actual":{"group_writedown":{"g2":0},"items":[["D",800,796]]},"check":"reversal capped","expected":{"group_writedown":{"g2":0},"items":[["D",800,796]]},"passed":true},{"actual":{"group_writedown":{"g1":35},"items":[["E",765,65]]},"check":"partial reversal","expected":{"group_writedown":{"g1":35},"items":[["E",765,65]]},"passed":true},{"actual":{"group_writedown":{"g3":0},"items":[["F",700,-300],["G",200,0]]},"check":"group offset","expected":{"group_writedown":{"g3":0},"items":[["F",700,-300],["G",200,0]]},"passed":true},{"actual":{"group_writedown":{"g4":550},"items":[["H",700,-400],["J",200,0]]},"check":"group loss","expected":{"group_writedown":{"g4":550},"items":[["H",700,-400],["J",200,0]]},"passed":true},{"actual":{"group_writedown":{"g5":0},"items":[["K",300,0]]},"check":"costly completion","expected":{"group_writedown":{"g5":250},"items":[["K",50,-250]]},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"write down\", \"actual\": {\"items\": [[\"A\", 990, -50]], \"group_writedown\": {\"g1\": 50}}, \"expected\": {\"items\": [[\"A\", 890, -550]], \"group_writedown\": {\"g1\": 550}}, \"passed\": false}, {\"check\": \"no write down\", \"actual\": {\"items\": [[\"B\", 500, 0]], \"group_writedown\": {\"g1\": 0}}, \"expected\": {\"items\": [[\"B\", 500, 0]], \"group_writedown\": {\"g1\": 0}}, \"passed\": true}, {\"check\": \"negative nrv\", \"actual\": {\"items\": [[\"C\", 240, -480]], \"group_writedown\": {\"g2\": 480}}, \"expected\": {\"items\": [[\"C\", 0, -1200]], \"group_writedown\": {\"g2\": 1200}}, \"passed\": false}, {\"check\": \"reversal capped\", \"actual\": {\"items\": [[\"D\", 800, 796]], \"group_writedown\": {\"g2\": 0}}, \"expected\": {\"items\": [[\"D\", 800, 796]], \"group_writedown\": {\"g2\": 0}}, \"passed\": true}, {\"check\": \"partial reversal\", \"actual\": {\"items\": [[\"E\", 765, 65]], \"group_writedown\": {\"g1\": 35}}, \"expected\": {\"items\": [[\"E\", 765, 65]], \"group_writedown\": {\"g1\": 35}}, \"passed\": true}, {\"check\": \"group offset\", \"actual\": {\"items\": [[\"F\", 700, -300], [\"G\", 200, 0]], \"group_writedown\": {\"g3\": 0}}, \"expected\": {\"items\": [[\"F\", 700, -300], [\"G\", 200, 0]], \"group_writedown\": {\"g3\": 0}}, \"passed\": true}, {\"check\": \"group loss\", \"actual\": {\"items\": [[\"H\", 700, -400], [\"J\", 200, 0]], \"group_writedown\": {\"g4\": 550}}, \"expected\": {\"items\": [[\"H\", 700, -400], [\"J\", 200, 0]], \"group_writedown\": {\"g4\": 550}}, \"passed\": true}, {\"check\": \"costly completion\", \"actual\": {\"items\": [[\"K\", 300, 0]], \"group_writedown\": {\"g5\": 0}}, \"expected\": {\"items\": [[\"K\", 50, -250]], \"group_writedown\": {\"g5\": 250}}, \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}