{"abstract":"Reversal allocations produce negative or lopsided center shares.","category":"Double-entry ledger accounting","checks":7,"contract":"x = {'amount': signed cents, 'weights': [[center, non-negative weight]] (some positive), 'source': account}. The pool magnitude is split across positive-weight centers by the largest remainder method: floor shares, then one extra cent to the largest remainders, ties to the earlier-listed center. A non-negative amount credits the source and debits centers; a negative amount (reversal) debits the source and credits centers, all amounts positive. Return lines [[source, side, magnitude]] + [[center, side, share]] for nonzero shares in listing order.","evaluation_group":"w2-double-entry-ledger-accounting-cost-allocation","failed_approach":"Changing only the floor still mixes a signed base with unsigned remainders.","family":"w2-double-entry-ledger-accounting-cost-allocation-magnitude-for-shares","id":"FA-58166","implementations":{"attempt":{"sha256":"ce49a4e80c8ea7ddb5c36d5b80b8e209735d45f9567a21966fdbf776db77834c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    amt = x['amount']\n    side_src, side_dst = ('C', 'D') if amt >= 0 else ('D', 'C')\n    mag = abs(amt)\n    ws = [(c, w) for c, w in x['weights'] if w > 0]\n    total = sum(w for _, w in ws)\n    base = [amt * w // total for _, w in ws]\n    rems = [mag * w % total for _, w in ws]\n    left = mag - sum(base)\n    order = sorted(range(len(ws)), key=lambda i: (-rems[i], i))\n    for i in order[:left]:\n        base[i] += 1\n    lines = [[x['source'], side_src, mag]]\n    for (c, w), share in zip(ws, base):\n        if share:\n            lines.append([c, side_dst, share])\n    return lines\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: magnitude for shares', {'amount': -7, 'weights': [['ops', 0], ['mkt', 5], ['hr', 1], ['it', 2], ['lab', 0]], 'source': 'pool'}, [['pool', 'D', 7], ['mkt', 'C', 4], ['hr', 'C', 1], ['it', 'C', 2]]], ['control 1', {'amount': 7, 'weights': [['fin', 0], ['it', 7], ['hr', 2], ['lab', 3], ['ops', 2]], 'source': 'pool'}, [['pool', 'C', 7], ['it', 'D', 4], ['hr', 'D', 1], ['lab', 'D', 1], ['ops', 'D', 1]]], ['control 2', {'amount': 7, 'weights': [['mkt', 0], ['fin', 1]], 'source': 'pool'}, [['pool', 'C', 7], ['fin', 'D', 7]]], ['control 3', {'amount': 99999, 'weights': [['hr', 1], ['it', 0]], 'source': 'pool'}, [['pool', 'C', 99999], ['hr', 'D', 99999]]], ['control 4', {'amount': 0, 'weights': [['ops', 3], ['mkt', 7], ['fin', 3], ['lab', 5]], 'source': 'pool'}, [['pool', 'C', 0]]], ['control 5', {'amount': 100, 'weights': [['ops', 5], ['it', 5]], 'source': 'pool'}, [['pool', 'C', 100], ['ops', 'D', 50], ['it', 'D', 50]]], ['control 6', {'amount': 0, 'weights': [['ops', 5], ['hr', 5], ['mkt', 7], ['fin', 3]], 'source': 'pool'}, [['pool', 'C', 0]]]], [['regression: magnitude for shares', {'amount': -101, 'weights': [['lab', 1], ['mkt', 5], ['ops', 2]], 'source': 'pool'}, [['pool', 'D', 101], ['lab', 'C', 13], ['mkt', 'C', 63], ['ops', 'C', 25]]], ['control 1', {'amount': 7, 'weights': [['mkt', 0], ['it', 7], ['ops', 2], ['fin', 2], ['lab', 1]], 'source': 'pool'}, [['pool', 'C', 7], ['it', 'D', 4], ['ops', 'D', 1], ['fin', 'D', 1], ['lab', 'D', 1]]], ['control 2', {'amount': 0, 'weights': [['it', 3], ['lab', 1], ['mkt', 0]], 'source': 'pool'}, [['pool', 'C', 0]]], ['control 3', {'amount': 101, 'weights': [['lab', 7], ['hr', 5]], 'source': 'pool'}, [['pool', 'C', 101], ['lab', 'D', 59], ['hr', 'D', 42]]], ['control 4', {'amount': 10, 'weights': [['lab', 1], ['it', 3], ['hr', 1], ['ops', 7], ['mkt', 0]], 'source': 'pool'}, [['pool', 'C', 10], ['lab', 'D', 1], ['it', 'D', 2], ['hr', 'D', 1], ['ops', 'D', 6]]], ['control 5', {'amount': 10, 'weights': [['mkt', 1], ['it', 2], ['fin', 1], ['hr', 7]], 'source': 'pool'}, [['pool', 'C', 10], ['mkt', 'D', 1], ['it', 'D', 2], ['fin', 'D', 1], ['hr', 'D', 6]]], ['control 6', {'amount': 1000, 'weights': [['mkt', 2], ['fin', 5]], 'source': 'pool'}, [['pool', 'C', 1000], ['mkt', 'D', 286], ['fin', 'D', 714]]]], [['regression: magnitude for shares', {'amount': -7, 'weights': [['mkt', 7], ['fin', 7]], 'source': 'pool'}, [['pool', 'D', 7], ['mkt', 'C', 4], ['fin', 'C', 3]]], ['control 1', {'amount': 7, 'weights': [['fin', 1], ['mkt', 5]], 'source': 'pool'}, [['pool', 'C', 7], ['fin', 'D', 1], ['mkt', 'D', 6]]], ['control 2', {'amount': 7, 'weights': [['it', 0], ['lab', 7], ['mkt', 1], ['hr', 3]], 'source': 'pool'}, [['pool', 'C', 7], ['lab', 'D', 4], ['mkt', 'D', 1], ['hr', 'D', 2]]], ['control 3', {'amount': 3, 'weights': [['it', 7], ['hr', 1]], 'source': 'pool'}, [['pool', 'C', 3], ['it', 'D', 3]]], ['control 4', {'amount': 10, 'weights': [['ops', 3], ['lab', 5]], 'source': 'pool'}, [['pool', 'C', 10], ['ops', 'D', 4], ['lab', 'D', 6]]], ['control 5', {'amount': 1000, 'weights': [['ops', 7], ['mkt', 5], ['fin', 7]], 'source': 'pool'}, [['pool', 'C', 1000], ['ops', 'D', 369], ['mkt', 'D', 263], ['fin', 'D', 368]]], ['control 6', {'amount': 10, 'weights': [['ops', 1], ['lab', 5]], 'source': 'pool'}, [['pool', 'C', 10], ['ops', 'D', 2], ['lab', 'D', 8]]]], [['regression: magnitude for shares', {'amount': -7, 'weights': [['lab', 2], ['ops', 7], ['mkt', 2]], 'source': 'pool'}, [['pool', 'D', 7], ['lab', 'C', 1], ['ops', 'C', 5], ['mkt', 'C', 1]]], ['control 1', {'amount': 100, 'weights': [['it', 7], ['fin', 3], ['mkt', 7], ['hr', 1]], 'source': 'pool'}, [['pool', 'C', 100], ['it', 'D', 39], ['fin', 'D', 17], ['mkt', 'D', 39], ['hr', 'D', 5]]], ['control 2', {'amount': 10, 'weights': [['lab', 2], ['it', 5], ['hr', 7], ['mkt', 0], ['ops', 7]], 'source': 'pool'}, [['pool', 'C', 10], ['lab', 'D', 1], ['it', 'D', 3], ['hr', 'D', 3], ['ops', 'D', 3]]], ['control 3', {'amount': 1000, 'weights': [['fin', 7], ['mkt', 3], ['it', 3], ['lab', 1], ['hr', 2]], 'source': 'pool'}, [['pool', 'C', 1000], ['fin', 'D', 438], ['mkt', 'D', 188], ['it', 'D', 187], ['lab', 'D', 62], ['hr', 'D', 125]]], ['control 4', {'amount': 3, 'weights': [['it', 3], ['lab', 3], ['hr', 7]], 'source': 'pool'}, [['pool', 'C', 3], ['it', 'D', 1], ['lab', 'D', 1], ['hr', 'D', 1]]], ['control 5', {'amount': 99999, 'weights': [['hr', 0], ['lab', 0], ['ops', 3], ['mkt', 5], ['it', 2]], 'source': 'pool'}, [['pool', 'C', 99999], ['ops', 'D', 30000], ['mkt', 'D', 49999], ['it', 'D', 20000]]], ['control 6', {'amount': 101, 'weights': [['mkt', 3], ['hr', 0], ['fin', 5]], 'source': 'pool'}, [['pool', 'C', 101], ['mkt', 'D', 38], ['fin', 'D', 63]]]], [['regression: magnitude for shares', {'amount': -7, 'weights': [['fin', 3], ['mkt', 1]], 'source': 'pool'}, [['pool', 'D', 7], ['fin', 'C', 5], ['mkt', 'C', 2]]], ['control 1', {'amount': 100, 'weights': [['fin', 2], ['hr', 0], ['it', 0], ['mkt', 0]], 'source': 'pool'}, [['pool', 'C', 100], ['fin', 'D', 100]]], ['control 2', {'amount': 10, 'weights': [['ops', 3], ['it', 1], ['mkt', 3], ['hr', 0]], 'source': 'pool'}, [['pool', 'C', 10], ['ops', 'D', 4], ['it', 'D', 2], ['mkt', 'D', 4]]], ['control 3', {'amount': 7, 'weights': [['mkt', 1], ['it', 0]], 'source': 'pool'}, [['pool', 'C', 7], ['mkt', 'D', 7]]], ['control 4', {'amount': 10, 'weights': [['mkt', 1], ['it', 7], ['fin', 0], ['ops', 1]], 'source': 'pool'}, [['pool', 'C', 10], ['mkt', 'D', 1], ['it', 'D', 8], ['ops', 'D', 1]]], ['control 5', {'amount': 101, 'weights': [['fin', 5], ['hr', 2]], 'source': 'pool'}, [['pool', 'C', 101], ['fin', 'D', 72], ['hr', 'D', 29]]], ['control 6', {'amount': 101, 'weights': [['fin', 2], ['hr', 2]], 'source': 'pool'}, [['pool', 'C', 101], ['fin', 'D', 51], ['hr', 'D', 50]]]]]\nfor label, args, expected in fixtures[N-1]:\n    try:\n        actual = solve(args)\n    except Exception as exc:\n        actual = 'raised ' + type(exc).__name__\n    check(label, actual, 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":"e3c38941344503c3002c95d79877cc2ebf7a47245f5b395a055413c7d3ba76bc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    amt = x['amount']\n    side_src, side_dst = ('C', 'D') if amt >= 0 else ('D', 'C')\n    mag = abs(amt)\n    ws = [(c, w) for c, w in x['weights'] if w > 0]\n    total = sum(w for _, w in ws)\n    base = [amt * w // total for _, w in ws]\n    rems = [amt * w % total for _, w in ws]\n    left = amt - sum(base)\n    order = sorted(range(len(ws)), key=lambda i: (-rems[i], i))\n    for i in order[:left]:\n        base[i] += 1\n    lines = [[x['source'], side_src, mag]]\n    for (c, w), share in zip(ws, base):\n        if share:\n            lines.append([c, side_dst, share])\n    return lines\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: magnitude for shares', {'amount': -7, 'weights': [['ops', 0], ['mkt', 5], ['hr', 1], ['it', 2], ['lab', 0]], 'source': 'pool'}, [['pool', 'D', 7], ['mkt', 'C', 4], ['hr', 'C', 1], ['it', 'C', 2]]], ['control 1', {'amount': 7, 'weights': [['fin', 0], ['it', 7], ['hr', 2], ['lab', 3], ['ops', 2]], 'source': 'pool'}, [['pool', 'C', 7], ['it', 'D', 4], ['hr', 'D', 1], ['lab', 'D', 1], ['ops', 'D', 1]]], ['control 2', {'amount': 7, 'weights': [['mkt', 0], ['fin', 1]], 'source': 'pool'}, [['pool', 'C', 7], ['fin', 'D', 7]]], ['control 3', {'amount': 99999, 'weights': [['hr', 1], ['it', 0]], 'source': 'pool'}, [['pool', 'C', 99999], ['hr', 'D', 99999]]], ['control 4', {'amount': 0, 'weights': [['ops', 3], ['mkt', 7], ['fin', 3], ['lab', 5]], 'source': 'pool'}, [['pool', 'C', 0]]], ['control 5', {'amount': 100, 'weights': [['ops', 5], ['it', 5]], 'source': 'pool'}, [['pool', 'C', 100], ['ops', 'D', 50], ['it', 'D', 50]]], ['control 6', {'amount': 0, 'weights': [['ops', 5], ['hr', 5], ['mkt', 7], ['fin', 3]], 'source': 'pool'}, [['pool', 'C', 0]]]], [['regression: magnitude for shares', {'amount': -101, 'weights': [['lab', 1], ['mkt', 5], ['ops', 2]], 'source': 'pool'}, [['pool', 'D', 101], ['lab', 'C', 13], ['mkt', 'C', 63], ['ops', 'C', 25]]], ['control 1', {'amount': 7, 'weights': [['mkt', 0], ['it', 7], ['ops', 2], ['fin', 2], ['lab', 1]], 'source': 'pool'}, [['pool', 'C', 7], ['it', 'D', 4], ['ops', 'D', 1], ['fin', 'D', 1], ['lab', 'D', 1]]], ['control 2', {'amount': 0, 'weights': [['it', 3], ['lab', 1], ['mkt', 0]], 'source': 'pool'}, [['pool', 'C', 0]]], ['control 3', {'amount': 101, 'weights': [['lab', 7], ['hr', 5]], 'source': 'pool'}, [['pool', 'C', 101], ['lab', 'D', 59], ['hr', 'D', 42]]], ['control 4', {'amount': 10, 'weights': [['lab', 1], ['it', 3], ['hr', 1], ['ops', 7], ['mkt', 0]], 'source': 'pool'}, [['pool', 'C', 10], ['lab', 'D', 1], ['it', 'D', 2], ['hr', 'D', 1], ['ops', 'D', 6]]], ['control 5', {'amount': 10, 'weights': [['mkt', 1], ['it', 2], ['fin', 1], ['hr', 7]], 'source': 'pool'}, [['pool', 'C', 10], ['mkt', 'D', 1], ['it', 'D', 2], ['fin', 'D', 1], ['hr', 'D', 6]]], ['control 6', {'amount': 1000, 'weights': [['mkt', 2], ['fin', 5]], 'source': 'pool'}, [['pool', 'C', 1000], ['mkt', 'D', 286], ['fin', 'D', 714]]]], [['regression: magnitude for shares', {'amount': -7, 'weights': [['mkt', 7], ['fin', 7]], 'source': 'pool'}, [['pool', 'D', 7], ['mkt', 'C', 4], ['fin', 'C', 3]]], ['control 1', {'amount': 7, 'weights': [['fin', 1], ['mkt', 5]], 'source': 'pool'}, [['pool', 'C', 7], ['fin', 'D', 1], ['mkt', 'D', 6]]], ['control 2', {'amount': 7, 'weights': [['it', 0], ['lab', 7], ['mkt', 1], ['hr', 3]], 'source': 'pool'}, [['pool', 'C', 7], ['lab', 'D', 4], ['mkt', 'D', 1], ['hr', 'D', 2]]], ['control 3', {'amount': 3, 'weights': [['it', 7], ['hr', 1]], 'source': 'pool'}, [['pool', 'C', 3], ['it', 'D', 3]]], ['control 4', {'amount': 10, 'weights': [['ops', 3], ['lab', 5]], 'source': 'pool'}, [['pool', 'C', 10], ['ops', 'D', 4], ['lab', 'D', 6]]], ['control 5', {'amount': 1000, 'weights': [['ops', 7], ['mkt', 5], ['fin', 7]], 'source': 'pool'}, [['pool', 'C', 1000], ['ops', 'D', 369], ['mkt', 'D', 263], ['fin', 'D', 368]]], ['control 6', {'amount': 10, 'weights': [['ops', 1], ['lab', 5]], 'source': 'pool'}, [['pool', 'C', 10], ['ops', 'D', 2], ['lab', 'D', 8]]]], [['regression: magnitude for shares', {'amount': -7, 'weights': [['lab', 2], ['ops', 7], ['mkt', 2]], 'source': 'pool'}, [['pool', 'D', 7], ['lab', 'C', 1], ['ops', 'C', 5], ['mkt', 'C', 1]]], ['control 1', {'amount': 100, 'weights': [['it', 7], ['fin', 3], ['mkt', 7], ['hr', 1]], 'source': 'pool'}, [['pool', 'C', 100], ['it', 'D', 39], ['fin', 'D', 17], ['mkt', 'D', 39], ['hr', 'D', 5]]], ['control 2', {'amount': 10, 'weights': [['lab', 2], ['it', 5], ['hr', 7], ['mkt', 0], ['ops', 7]], 'source': 'pool'}, [['pool', 'C', 10], ['lab', 'D', 1], ['it', 'D', 3], ['hr', 'D', 3], ['ops', 'D', 3]]], ['control 3', {'amount': 1000, 'weights': [['fin', 7], ['mkt', 3], ['it', 3], ['lab', 1], ['hr', 2]], 'source': 'pool'}, [['pool', 'C', 1000], ['fin', 'D', 438], ['mkt', 'D', 188], ['it', 'D', 187], ['lab', 'D', 62], ['hr', 'D', 125]]], ['control 4', {'amount': 3, 'weights': [['it', 3], ['lab', 3], ['hr', 7]], 'source': 'pool'}, [['pool', 'C', 3], ['it', 'D', 1], ['lab', 'D', 1], ['hr', 'D', 1]]], ['control 5', {'amount': 99999, 'weights': [['hr', 0], ['lab', 0], ['ops', 3], ['mkt', 5], ['it', 2]], 'source': 'pool'}, [['pool', 'C', 99999], ['ops', 'D', 30000], ['mkt', 'D', 49999], ['it', 'D', 20000]]], ['control 6', {'amount': 101, 'weights': [['mkt', 3], ['hr', 0], ['fin', 5]], 'source': 'pool'}, [['pool', 'C', 101], ['mkt', 'D', 38], ['fin', 'D', 63]]]], [['regression: magnitude for shares', {'amount': -7, 'weights': [['fin', 3], ['mkt', 1]], 'source': 'pool'}, [['pool', 'D', 7], ['fin', 'C', 5], ['mkt', 'C', 2]]], ['control 1', {'amount': 100, 'weights': [['fin', 2], ['hr', 0], ['it', 0], ['mkt', 0]], 'source': 'pool'}, [['pool', 'C', 100], ['fin', 'D', 100]]], ['control 2', {'amount': 10, 'weights': [['ops', 3], ['it', 1], ['mkt', 3], ['hr', 0]], 'source': 'pool'}, [['pool', 'C', 10], ['ops', 'D', 4], ['it', 'D', 2], ['mkt', 'D', 4]]], ['control 3', {'amount': 7, 'weights': [['mkt', 1], ['it', 0]], 'source': 'pool'}, [['pool', 'C', 7], ['mkt', 'D', 7]]], ['control 4', {'amount': 10, 'weights': [['mkt', 1], ['it', 7], ['fin', 0], ['ops', 1]], 'source': 'pool'}, [['pool', 'C', 10], ['mkt', 'D', 1], ['it', 'D', 8], ['ops', 'D', 1]]], ['control 5', {'amount': 101, 'weights': [['fin', 5], ['hr', 2]], 'source': 'pool'}, [['pool', 'C', 101], ['fin', 'D', 72], ['hr', 'D', 29]]], ['control 6', {'amount': 101, 'weights': [['fin', 2], ['hr', 2]], 'source': 'pool'}, [['pool', 'C', 101], ['fin', 'D', 51], ['hr', 'D', 50]]]]]\nfor label, args, expected in fixtures[N-1]:\n    try:\n        actual = solve(args)\n    except Exception as exc:\n        actual = 'raised ' + type(exc).__name__\n    check(label, actual, 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":"0120c394718225d13079d534593dc30c3a2b3e7d865b8b8f5db4b34ca2b3c7e5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    amt = x['amount']\n    side_src, side_dst = ('C', 'D') if amt >= 0 else ('D', 'C')\n    mag = abs(amt)\n    ws = [(c, w) for c, w in x['weights'] if w > 0]\n    total = sum(w for _, w in ws)\n    base = [mag * w // total for _, w in ws]\n    rems = [mag * w % total for _, w in ws]\n    left = mag - sum(base)\n    order = sorted(range(len(ws)), key=lambda i: (-rems[i], i))\n    for i in order[:left]:\n        base[i] += 1\n    lines = [[x['source'], side_src, mag]]\n    for (c, w), share in zip(ws, base):\n        if share:\n            lines.append([c, side_dst, share])\n    return lines\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: magnitude for shares', {'amount': -7, 'weights': [['ops', 0], ['mkt', 5], ['hr', 1], ['it', 2], ['lab', 0]], 'source': 'pool'}, [['pool', 'D', 7], ['mkt', 'C', 4], ['hr', 'C', 1], ['it', 'C', 2]]], ['control 1', {'amount': 7, 'weights': [['fin', 0], ['it', 7], ['hr', 2], ['lab', 3], ['ops', 2]], 'source': 'pool'}, [['pool', 'C', 7], ['it', 'D', 4], ['hr', 'D', 1], ['lab', 'D', 1], ['ops', 'D', 1]]], ['control 2', {'amount': 7, 'weights': [['mkt', 0], ['fin', 1]], 'source': 'pool'}, [['pool', 'C', 7], ['fin', 'D', 7]]], ['control 3', {'amount': 99999, 'weights': [['hr', 1], ['it', 0]], 'source': 'pool'}, [['pool', 'C', 99999], ['hr', 'D', 99999]]], ['control 4', {'amount': 0, 'weights': [['ops', 3], ['mkt', 7], ['fin', 3], ['lab', 5]], 'source': 'pool'}, [['pool', 'C', 0]]], ['control 5', {'amount': 100, 'weights': [['ops', 5], ['it', 5]], 'source': 'pool'}, [['pool', 'C', 100], ['ops', 'D', 50], ['it', 'D', 50]]], ['control 6', {'amount': 0, 'weights': [['ops', 5], ['hr', 5], ['mkt', 7], ['fin', 3]], 'source': 'pool'}, [['pool', 'C', 0]]]], [['regression: magnitude for shares', {'amount': -101, 'weights': [['lab', 1], ['mkt', 5], ['ops', 2]], 'source': 'pool'}, [['pool', 'D', 101], ['lab', 'C', 13], ['mkt', 'C', 63], ['ops', 'C', 25]]], ['control 1', {'amount': 7, 'weights': [['mkt', 0], ['it', 7], ['ops', 2], ['fin', 2], ['lab', 1]], 'source': 'pool'}, [['pool', 'C', 7], ['it', 'D', 4], ['ops', 'D', 1], ['fin', 'D', 1], ['lab', 'D', 1]]], ['control 2', {'amount': 0, 'weights': [['it', 3], ['lab', 1], ['mkt', 0]], 'source': 'pool'}, [['pool', 'C', 0]]], ['control 3', {'amount': 101, 'weights': [['lab', 7], ['hr', 5]], 'source': 'pool'}, [['pool', 'C', 101], ['lab', 'D', 59], ['hr', 'D', 42]]], ['control 4', {'amount': 10, 'weights': [['lab', 1], ['it', 3], ['hr', 1], ['ops', 7], ['mkt', 0]], 'source': 'pool'}, [['pool', 'C', 10], ['lab', 'D', 1], ['it', 'D', 2], ['hr', 'D', 1], ['ops', 'D', 6]]], ['control 5', {'amount': 10, 'weights': [['mkt', 1], ['it', 2], ['fin', 1], ['hr', 7]], 'source': 'pool'}, [['pool', 'C', 10], ['mkt', 'D', 1], ['it', 'D', 2], ['fin', 'D', 1], ['hr', 'D', 6]]], ['control 6', {'amount': 1000, 'weights': [['mkt', 2], ['fin', 5]], 'source': 'pool'}, [['pool', 'C', 1000], ['mkt', 'D', 286], ['fin', 'D', 714]]]], [['regression: magnitude for shares', {'amount': -7, 'weights': [['mkt', 7], ['fin', 7]], 'source': 'pool'}, [['pool', 'D', 7], ['mkt', 'C', 4], ['fin', 'C', 3]]], ['control 1', {'amount': 7, 'weights': [['fin', 1], ['mkt', 5]], 'source': 'pool'}, [['pool', 'C', 7], ['fin', 'D', 1], ['mkt', 'D', 6]]], ['control 2', {'amount': 7, 'weights': [['it', 0], ['lab', 7], ['mkt', 1], ['hr', 3]], 'source': 'pool'}, [['pool', 'C', 7], ['lab', 'D', 4], ['mkt', 'D', 1], ['hr', 'D', 2]]], ['control 3', {'amount': 3, 'weights': [['it', 7], ['hr', 1]], 'source': 'pool'}, [['pool', 'C', 3], ['it', 'D', 3]]], ['control 4', {'amount': 10, 'weights': [['ops', 3], ['lab', 5]], 'source': 'pool'}, [['pool', 'C', 10], ['ops', 'D', 4], ['lab', 'D', 6]]], ['control 5', {'amount': 1000, 'weights': [['ops', 7], ['mkt', 5], ['fin', 7]], 'source': 'pool'}, [['pool', 'C', 1000], ['ops', 'D', 369], ['mkt', 'D', 263], ['fin', 'D', 368]]], ['control 6', {'amount': 10, 'weights': [['ops', 1], ['lab', 5]], 'source': 'pool'}, [['pool', 'C', 10], ['ops', 'D', 2], ['lab', 'D', 8]]]], [['regression: magnitude for shares', {'amount': -7, 'weights': [['lab', 2], ['ops', 7], ['mkt', 2]], 'source': 'pool'}, [['pool', 'D', 7], ['lab', 'C', 1], ['ops', 'C', 5], ['mkt', 'C', 1]]], ['control 1', {'amount': 100, 'weights': [['it', 7], ['fin', 3], ['mkt', 7], ['hr', 1]], 'source': 'pool'}, [['pool', 'C', 100], ['it', 'D', 39], ['fin', 'D', 17], ['mkt', 'D', 39], ['hr', 'D', 5]]], ['control 2', {'amount': 10, 'weights': [['lab', 2], ['it', 5], ['hr', 7], ['mkt', 0], ['ops', 7]], 'source': 'pool'}, [['pool', 'C', 10], ['lab', 'D', 1], ['it', 'D', 3], ['hr', 'D', 3], ['ops', 'D', 3]]], ['control 3', {'amount': 1000, 'weights': [['fin', 7], ['mkt', 3], ['it', 3], ['lab', 1], ['hr', 2]], 'source': 'pool'}, [['pool', 'C', 1000], ['fin', 'D', 438], ['mkt', 'D', 188], ['it', 'D', 187], ['lab', 'D', 62], ['hr', 'D', 125]]], ['control 4', {'amount': 3, 'weights': [['it', 3], ['lab', 3], ['hr', 7]], 'source': 'pool'}, [['pool', 'C', 3], ['it', 'D', 1], ['lab', 'D', 1], ['hr', 'D', 1]]], ['control 5', {'amount': 99999, 'weights': [['hr', 0], ['lab', 0], ['ops', 3], ['mkt', 5], ['it', 2]], 'source': 'pool'}, [['pool', 'C', 99999], ['ops', 'D', 30000], ['mkt', 'D', 49999], ['it', 'D', 20000]]], ['control 6', {'amount': 101, 'weights': [['mkt', 3], ['hr', 0], ['fin', 5]], 'source': 'pool'}, [['pool', 'C', 101], ['mkt', 'D', 38], ['fin', 'D', 63]]]], [['regression: magnitude for shares', {'amount': -7, 'weights': [['fin', 3], ['mkt', 1]], 'source': 'pool'}, [['pool', 'D', 7], ['fin', 'C', 5], ['mkt', 'C', 2]]], ['control 1', {'amount': 100, 'weights': [['fin', 2], ['hr', 0], ['it', 0], ['mkt', 0]], 'source': 'pool'}, [['pool', 'C', 100], ['fin', 'D', 100]]], ['control 2', {'amount': 10, 'weights': [['ops', 3], ['it', 1], ['mkt', 3], ['hr', 0]], 'source': 'pool'}, [['pool', 'C', 10], ['ops', 'D', 4], ['it', 'D', 2], ['mkt', 'D', 4]]], ['control 3', {'amount': 7, 'weights': [['mkt', 1], ['it', 0]], 'source': 'pool'}, [['pool', 'C', 7], ['mkt', 'D', 7]]], ['control 4', {'amount': 10, 'weights': [['mkt', 1], ['it', 7], ['fin', 0], ['ops', 1]], 'source': 'pool'}, [['pool', 'C', 10], ['mkt', 'D', 1], ['it', 'D', 8], ['ops', 'D', 1]]], ['control 5', {'amount': 101, 'weights': [['fin', 5], ['hr', 2]], 'source': 'pool'}, [['pool', 'C', 101], ['fin', 'D', 72], ['hr', 'D', 29]]], ['control 6', {'amount': 101, 'weights': [['fin', 2], ['hr', 2]], 'source': 'pool'}, [['pool', 'C', 101], ['fin', 'D', 51], ['hr', 'D', 50]]]]]\nfor label, args, expected in fixtures[N-1]:\n    try:\n        actual = solve(args)\n    except Exception as exc:\n        actual = 'raised ' + type(exc).__name__\n    check(label, actual, 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":"A deterministic bounded teaching model with stipulated toy bookkeeping rules stated in the contract; amounts are integer cents; it makes no claim of conformance to any accounting standard or product. 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-double-entry-ledger-accounting-cost-allocation-magnitude-for-shares","generated_at":"2026-09-29T14:46:24.108516+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Ledger software must keep debits equal to credits and apply normal-balance, period and cutoff rules exactly; small sign or boundary slips silently misstate financial statements.","repair":"Allocate the magnitude and express direction through the sides.","root_cause":"Shares are floored from the signed amount, so negative amounts floor away from zero.","sha256":"7ca5fadc79432edfdfca7121898e3bdb5f7d7246bb331695d26b486b20541650","title":"Cost pool allocation entry: magnitude for shares · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.797,"exit_code":1,"observations":[{"actual":[["pool","D",7],["mkt","C",-4],["it","C",-1]],"check":"regression: magnitude for shares","expected":[["pool","D",7],["mkt","C",4],["hr","C",1],["it","C",2]],"passed":false},{"actual":[["pool","C",7],["it","D",4],["hr","D",1],["lab","D",1],["ops","D",1]],"check":"control 1","expected":[["pool","C",7],["it","D",4],["hr","D",1],["lab","D",1],["ops","D",1]],"passed":true},{"actual":[["pool","C",7],["fin","D",7]],"check":"control 2","expected":[["pool","C",7],["fin","D",7]],"passed":true},{"actual":[["pool","C",99999],["hr","D",99999]],"check":"control 3","expected":[["pool","C",99999],["hr","D",99999]],"passed":true},{"actual":[["pool","C",0]],"check":"control 4","expected":[["pool","C",0]],"passed":true},{"actual":[["pool","C",100],["ops","D",50],["it","D",50]],"check":"control 5","expected":[["pool","C",100],["ops","D",50],["it","D",50]],"passed":true},{"actual":[["pool","C",0]],"check":"control 6","expected":[["pool","C",0]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: magnitude for shares\", \"actual\": [[\"pool\", \"D\", 7], [\"mkt\", \"C\", -4], [\"it\", \"C\", -1]], \"expected\": [[\"pool\", \"D\", 7], [\"mkt\", \"C\", 4], [\"hr\", \"C\", 1], [\"it\", \"C\", 2]], \"passed\": false}, {\"check\": \"control 1\", \"actual\": [[\"pool\", \"C\", 7], [\"it\", \"D\", 4], [\"hr\", \"D\", 1], [\"lab\", \"D\", 1], [\"ops\", \"D\", 1]], \"expected\": [[\"pool\", \"C\", 7], [\"it\", \"D\", 4], [\"hr\", \"D\", 1], [\"lab\", \"D\", 1], [\"ops\", \"D\", 1]], \"passed\": true}, {\"check\": \"control 2\", \"actual\": [[\"pool\", \"C\", 7], [\"fin\", \"D\", 7]], \"expected\": [[\"pool\", \"C\", 7], [\"fin\", \"D\", 7]], \"passed\": true}, {\"check\": \"control 3\", \"actual\": [[\"pool\", \"C\", 99999], [\"hr\", \"D\", 99999]], \"expected\": [[\"pool\", \"C\", 99999], [\"hr\", \"D\", 99999]], \"passed\": true}, {\"check\": \"control 4\", \"actual\": [[\"pool\", \"C\", 0]], \"expected\": [[\"pool\", \"C\", 0]], \"passed\": true}, {\"check\": \"control 5\", \"actual\": [[\"pool\", \"C\", 100], [\"ops\", \"D\", 50], [\"it\", \"D\", 50]], \"expected\": [[\"pool\", \"C\", 100], [\"ops\", \"D\", 50], [\"it\", \"D\", 50]], \"passed\": true}, {\"check\": \"control 6\", \"actual\": [[\"pool\", \"C\", 0]], \"expected\": [[\"pool\", \"C\", 0]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.479,"exit_code":1,"observations":[{"actual":[["pool","D",7],["mkt","C",-4],["hr","C",-1],["it","C",-2]],"check":"regression: magnitude for shares","expected":[["pool","D",7],["mkt","C",4],["hr","C",1],["it","C",2]],"passed":false},{"actual":[["pool","C",7],["it","D",4],["hr","D",1],["lab","D",1],["ops","D",1]],"check":"control 1","expected":[["pool","C",7],["it","D",4],["hr","D",1],["lab","D",1],["ops","D",1]],"passed":true},{"actual":[["pool","C",7],["fin","D",7]],"check":"control 2","expected":[["pool","C",7],["fin","D",7]],"passed":true},{"actual":[["pool","C",99999],["hr","D",99999]],"check":"control 3","expected":[["pool","C",99999],["hr","D",99999]],"passed":true},{"actual":[["pool","C",0]],"check":"control 4","expected":[["pool","C",0]],"passed":true},{"actual":[["pool","C",100],["ops","D",50],["it","D",50]],"check":"control 5","expected":[["pool","C",100],["ops","D",50],["it","D",50]],"passed":true},{"actual":[["pool","C",0]],"check":"control 6","expected":[["pool","C",0]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: magnitude for shares\", \"actual\": [[\"pool\", \"D\", 7], [\"mkt\", \"C\", -4], [\"hr\", \"C\", -1], [\"it\", \"C\", -2]], \"expected\": [[\"pool\", \"D\", 7], [\"mkt\", \"C\", 4], [\"hr\", \"C\", 1], [\"it\", \"C\", 2]], \"passed\": false}, {\"check\": \"control 1\", \"actual\": [[\"pool\", \"C\", 7], [\"it\", \"D\", 4], [\"hr\", \"D\", 1], [\"lab\", \"D\", 1], [\"ops\", \"D\", 1]], \"expected\": [[\"pool\", \"C\", 7], [\"it\", \"D\", 4], [\"hr\", \"D\", 1], [\"lab\", \"D\", 1], [\"ops\", \"D\", 1]], \"passed\": true}, {\"check\": \"control 2\", \"actual\": [[\"pool\", \"C\", 7], [\"fin\", \"D\", 7]], \"expected\": [[\"pool\", \"C\", 7], [\"fin\", \"D\", 7]], \"passed\": true}, {\"check\": \"control 3\", \"actual\": [[\"pool\", \"C\", 99999], [\"hr\", \"D\", 99999]], \"expected\": [[\"pool\", \"C\", 99999], [\"hr\", \"D\", 99999]], \"passed\": true}, {\"check\": \"control 4\", \"actual\": [[\"pool\", \"C\", 0]], \"expected\": [[\"pool\", \"C\", 0]], \"passed\": true}, {\"check\": \"control 5\", \"actual\": [[\"pool\", \"C\", 100], [\"ops\", \"D\", 50], [\"it\", \"D\", 50]], \"expected\": [[\"pool\", \"C\", 100], [\"ops\", \"D\", 50], [\"it\", \"D\", 50]], \"passed\": true}, {\"check\": \"control 6\", \"actual\": [[\"pool\", \"C\", 0]], \"expected\": [[\"pool\", \"C\", 0]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.259,"exit_code":0,"observations":[{"actual":[["pool","D",7],["mkt","C",4],["hr","C",1],["it","C",2]],"check":"regression: magnitude for shares","expected":[["pool","D",7],["mkt","C",4],["hr","C",1],["it","C",2]],"passed":true},{"actual":[["pool","C",7],["it","D",4],["hr","D",1],["lab","D",1],["ops","D",1]],"check":"control 1","expected":[["pool","C",7],["it","D",4],["hr","D",1],["lab","D",1],["ops","D",1]],"passed":true},{"actual":[["pool","C",7],["fin","D",7]],"check":"control 2","expected":[["pool","C",7],["fin","D",7]],"passed":true},{"actual":[["pool","C",99999],["hr","D",99999]],"check":"control 3","expected":[["pool","C",99999],["hr","D",99999]],"passed":true},{"actual":[["pool","C",0]],"check":"control 4","expected":[["pool","C",0]],"passed":true},{"actual":[["pool","C",100],["ops","D",50],["it","D",50]],"check":"control 5","expected":[["pool","C",100],["ops","D",50],["it","D",50]],"passed":true},{"actual":[["pool","C",0]],"check":"control 6","expected":[["pool","C",0]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: magnitude for shares\", \"actual\": [[\"pool\", \"D\", 7], [\"mkt\", \"C\", 4], [\"hr\", \"C\", 1], [\"it\", \"C\", 2]], \"expected\": [[\"pool\", \"D\", 7], [\"mkt\", \"C\", 4], [\"hr\", \"C\", 1], [\"it\", \"C\", 2]], \"passed\": true}, {\"check\": \"control 1\", \"actual\": [[\"pool\", \"C\", 7], [\"it\", \"D\", 4], [\"hr\", \"D\", 1], [\"lab\", \"D\", 1], [\"ops\", \"D\", 1]], \"expected\": [[\"pool\", \"C\", 7], [\"it\", \"D\", 4], [\"hr\", \"D\", 1], [\"lab\", \"D\", 1], [\"ops\", \"D\", 1]], \"passed\": true}, {\"check\": \"control 2\", \"actual\": [[\"pool\", \"C\", 7], [\"fin\", \"D\", 7]], \"expected\": [[\"pool\", \"C\", 7], [\"fin\", \"D\", 7]], \"passed\": true}, {\"check\": \"control 3\", \"actual\": [[\"pool\", \"C\", 99999], [\"hr\", \"D\", 99999]], \"expected\": [[\"pool\", \"C\", 99999], [\"hr\", \"D\", 99999]], \"passed\": true}, {\"check\": \"control 4\", \"actual\": [[\"pool\", \"C\", 0]], \"expected\": [[\"pool\", \"C\", 0]], \"passed\": true}, {\"check\": \"control 5\", \"actual\": [[\"pool\", \"C\", 100], [\"ops\", \"D\", 50], [\"it\", \"D\", 50]], \"expected\": [[\"pool\", \"C\", 100], [\"ops\", \"D\", 50], [\"it\", \"D\", 50]], \"passed\": true}, {\"check\": \"control 6\", \"actual\": [[\"pool\", \"C\", 0]], \"expected\": [[\"pool\", \"C\", 0]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}