{"abstract":"Liability and revenue balances come out negative after ordinary credit postings.","category":"Double-entry ledger accounting","checks":7,"contract":"x = {'chart': {account: type}, 'entries': [[entry_id, [[account, 'D'|'C', cents], ...]], ...]}. Types asset, expense and dividend are debit-normal; liability, equity, revenue and contra_asset are credit-normal. An entry is posted only if its id has not already been posted, it has at least two lines, every account is in the chart, every side is 'D' or 'C', every amount is a positive integer and total debits equal total credits; otherwise the whole entry is rejected and its id appended to 'rejected' (a rejected id may be resubmitted later). Return {'balances': normal-signed balance of every chart account (zero and negative included), 'rejected': ids in order}.","evaluation_group":"w2-double-entry-ledger-accounting-journal-posting","failed_approach":"The OR form treats a debit to a credit-normal account as an increase, so paying down a payable raises it.","family":"w2-double-entry-ledger-accounting-journal-posting-posting-sign-by-side-and-normal-balance","id":"FA-57856","implementations":{"attempt":{"sha256":"1626283d1f3f2d5e5185656d7a643970c7e59e9b261a90e0d51555ff97bce34e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    chart = x['chart']\n    debit_normal = {'asset', 'expense', 'dividend'}\n    bal = {a: 0 for a in chart}\n    rejected = []\n    posted = set()\n    for eid, lines in x['entries']:\n        ok = eid not in posted and len(lines) >= 2\n        dr = cr = 0\n        for acct, side, amt in lines:\n            if acct not in chart or side not in ('D', 'C') or amt <= 0:\n                ok = False\n            elif side == 'D':\n                dr += amt\n            else:\n                cr += amt\n        if not ok or dr != cr:\n            rejected.append(eid)\n            continue\n        posted.add(eid)\n        for acct, side, amt in lines:\n            sign = 1 if side == 'D' or chart[acct] not in debit_normal else -1\n            bal[acct] += sign * amt\n    return {'balances': bal, 'rejected': rejected}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: posting sign by side and normal balance', {'chart': {'acc_depr': 'contra_asset', 'drawings': 'dividend', 'payable': 'liability', 'equipment': 'asset', 'capital': 'equity'}, 'entries': [['J1', [['payable', 'D', 40], ['equipment', 'C', 40]]], ['J3', [['equipment', 'C', 5000], ['payable', 'D', 5000]]], ['J1', [['acc_depr', 'C', 1200], ['payable', 'D', 1170], ['payable', 'D', 30]]], ['J4', [['equipment', 'C', 5000], ['acc_depr', 'D', 4970], ['acc_depr', 'D', 30]]], ['J3', [['acc_depr', 'D', -40], ['equipment', 'C', -40]]]]}, {'balances': {'acc_depr': -5000, 'drawings': 0, 'payable': -5040, 'equipment': -10040, 'capital': 0}, 'rejected': ['J1', 'J3']}], ['control 1', {'chart': {'capital': 'equity', 'rent': 'expense', 'cash': 'asset', 'receivable': 'asset', 'drawings': 'dividend', 'equipment': 'asset', 'wages': 'expense', 'sales': 'revenue'}, 'entries': [['J2', [['suspense', 'C', 999], ['sales', 'D', 999]]], ['J5', [['wages', 'C', 250], ['equipment', 'D', 250]]], ['J3', [['wages', 'C', 40], ['rent', 'D', 40]]], ['J5', [['drawings', 'C', 100], ['wages', 'C', 0], ['sales', 'D', 100], ['wages', 'D', 0]]], ['J4', [['equipment', 'D', 1200], ['wages', 'C', 1200]]], ['J2', [['rent', 'D', 100], ['equipment', 'C', 100]]]]}, {'balances': {'capital': 0, 'rent': 140, 'cash': 0, 'receivable': 0, 'drawings': 0, 'equipment': 1350, 'wages': -1490, 'sales': 0}, 'rejected': ['J2', 'J5']}], ['control 2', {'chart': {'drawings': 'dividend', 'wages': 'expense', 'receivable': 'asset', 'rent': 'expense', 'cash': 'asset'}, 'entries': [['J4', [['receivable', 'C', 5000], ['cash', 'D', 4970], ['cash', 'D', 30]]], ['J1', [['drawings', 'D', 40], ['receivable', 'C', 40]]], ['J3', []]]}, {'balances': {'drawings': 40, 'wages': 0, 'receivable': -5040, 'rent': 0, 'cash': 5000}, 'rejected': ['J3']}], ['control 3', {'chart': {'receivable': 'asset', 'equipment': 'asset', 'drawings': 'dividend', 'payable': 'liability', 'wages': 'expense', 'cash': 'asset', 'rent': 'expense'}, 'entries': [['J3', [['receivable', 'D', 999], ['equipment', 'C', 999]]], ['J1', [['receivable', 'D', 100], ['payable', 'C', 100]]], ['J4', [['payable', 'D', 100], ['rent', 'C', 100]]], ['J1', [['rent', 'D', 999], ['wages', 'C', 999]]], ['J2', [['drawings', 'C', 250], ['wages', 'D', 250]]], ['J3', [['rent', 'C', 40], ['payable', 'D', 40]]], ['J2', [['equipment', 'C', 250], ['cash', 'D', 250]]]]}, {'balances': {'receivable': 1099, 'equipment': -999, 'drawings': -250, 'payable': 0, 'wages': 250, 'cash': 0, 'rent': -100}, 'rejected': ['J1', 'J3', 'J2']}], ['control 4', {'chart': {'cash': 'asset', 'equipment': 'asset', 'receivable': 'asset', 'wages': 'expense', 'acc_depr': 'contra_asset', 'rent': 'expense'}, 'entries': [['J2', [['receivable', 'C', 5000], ['wages', 'D', 5000]]], ['J3', [['rent', 'D', 1200], ['cash', 'C', 1200]]], ['J4', [['equipment', 'D', 250], ['receivable', 'C', 250]]]]}, {'balances': {'cash': -1200, 'equipment': 250, 'receivable': -5250, 'wages': 5000, 'acc_depr': 0, 'rent': 1200}, 'rejected': []}], ['control 5', {'chart': {'cash': 'asset', 'equipment': 'asset', 'payable': 'liability', 'drawings': 'dividend', 'loan': 'liability', 'acc_depr': 'contra_asset', 'rent': 'expense'}, 'entries': [['J4', [['cash', 'D', -999], ['rent', 'C', -999]]], ['J4', [['equipment', 'C', 5000], ['rent', 'D', 5000]]], ['J4', [['rent', 'C', 40], ['payable', 'D', 40]]], ['J3', [['rent', 'D', -999], ['cash', 'C', -999]]], ['J1', [['payable', 'C', 0], ['rent', 'C', 5000], ['cash', 'D', 5000], ['payable', 'D', 0]]]]}, {'balances': {'cash': 0, 'equipment': -5000, 'payable': 0, 'drawings': 0, 'loan': 0, 'acc_depr': 0, 'rent': 5000}, 'rejected': ['J4', 'J4', 'J3', 'J1']}], ['control 6', {'chart': {'rent': 'expense', 'sales': 'revenue', 'capital': 'equity', 'payable': 'liability', 'drawings': 'dividend', 'equipment': 'asset', 'wages': 'expense', 'receivable': 'asset'}, 'entries': [['J3', [['capital', 'D', -40], ['equipment', 'C', -40]]], ['J5', [['receivable', 'D', 999], ['drawings', 'C', 0], ['drawings', 'D', 0], ['rent', 'C', 999]]], ['J2', [['sales', 'C', 40], ['receivable', 'D', 40], ['rent', 'D', 0], ['rent', 'C', 0]]], ['J5', [['equipment', 'D', 1200], ['drawings', 'C', 1200]]], ['J2', [['wages', 'C', 40], ['receivable', 'D', 40]]], ['J5', [['sales', 'D', 250], ['drawings', 'C', 250]]], ['J4', [['equipment', 'D', 100], ['suspense', 'C', 100]]]]}, {'balances': {'rent': 0, 'sales': 0, 'capital': 0, 'payable': 0, 'drawings': -1200, 'equipment': 1200, 'wages': -40, 'receivable': 40}, 'rejected': ['J3', 'J5', 'J2', 'J5', 'J4']}]], [['regression: posting sign by side and normal balance', {'chart': {'acc_depr': 'contra_asset', 'loan': 'liability', 'equipment': 'asset', 'sales': 'revenue', 'wages': 'expense'}, 'entries': [['J3', [['acc_depr', 'D', 30], ['acc_depr', 'D', 4970], ['loan', 'C', 5000]]], ['J2', [['loan', 'D', 4970], ['loan', 'D', 30], ['acc_depr', 'C', 5000]]], ['J3', [['loan', 'D', 5000], ['wages', 'C', 4999]]], ['J4', [['sales', 'D', 999], ['acc_depr', 'C', 999]]], ['J3', [['loan', 'C', 40], ['sales', 'D', 40]]]]}, {'balances': {'acc_depr': 999, 'loan': 0, 'equipment': 0, 'sales': -999, 'wages': 0}, 'rejected': ['J3', 'J3']}], ['control 1', {'chart': {'drawings': 'dividend', 'sales': 'revenue', 'equipment': 'asset', 'cash': 'asset', 'receivable': 'asset'}, 'entries': [['J5', [['drawings', 'C', 1200], ['equipment', 'D', 1200]]], ['J3', [['receivable', 'C', 250], ['drawings', 'D', 250]]], ['J4', [['receivable', 'D', 999], ['drawings', 'C', 999]]]]}, {'balances': {'drawings': -1949, 'sales': 0, 'equipment': 1200, 'cash': 0, 'receivable': 749}, 'rejected': []}], ['control 2', {'chart': {'equipment': 'asset', 'wages': 'expense', 'capital': 'equity', 'receivable': 'asset', 'sales': 'revenue', 'rent': 'expense', 'loan': 'liability'}, 'entries': [['J3', [['wages', 'D', 250], ['rent', 'C', 250]]], ['J2', [['receivable', 'D', 250], ['suspense', 'C', 250]]], ['J1', [['loan', 'C', 1199], ['wages', 'D', 1200]]], ['J3', [['sales', 'C', 100], ['receivable', 'D', 100]]]]}, {'balances': {'equipment': 0, 'wages': 250, 'capital': 0, 'receivable': 0, 'sales': 0, 'rent': -250, 'loan': 0}, 'rejected': ['J2', 'J1', 'J3']}], ['control 3', {'chart': {'wages': 'expense', 'drawings': 'dividend', 'payable': 'liability', 'equipment': 'asset', 'sales': 'revenue', 'receivable': 'asset', 'cash': 'asset', 'capital': 'equity'}, 'entries': [['J4', [['cash', 'D', 250], ['sales', 'C', 249]]], ['J2', [['sales', 'C', 1200], ['drawings', 'D', 1200], ['equipment', 'C', 0], ['equipment', 'D', 0]]], ['J3', [['wages', 'C', -100], ['payable', 'D', -100]]]]}, {'balances': {'wages': 0, 'drawings': 0, 'payable': 0, 'equipment': 0, 'sales': 0, 'receivable': 0, 'cash': 0, 'capital': 0}, 'rejected': ['J4', 'J2', 'J3']}], ['control 4', {'chart': {'drawings': 'dividend', 'acc_depr': 'contra_asset', 'loan': 'liability', 'capital': 'equity', 'equipment': 'asset', 'wages': 'expense'}, 'entries': [['J1', [['equipment', 'C', 40], ['drawings', 'D', 40]]], ['J1', [['wages', 'D', 30], ['acc_depr', 'C', 1200], ['wages', 'D', 1170]]], ['J3', [['capital', 'C', 0], ['drawings', 'D', 1200], ['acc_depr', 'C', 1200], ['capital', 'D', 0]]], ['J1', [['drawings', 'C', 100], ['acc_depr', 'D', 100]]]]}, {'balances': {'drawings': 40, 'acc_depr': 0, 'loan': 0, 'capital': 0, 'equipment': -40, 'wages': 0}, 'rejected': ['J1', 'J3', 'J1']}], ['control 5', {'chart': {'equipment': 'asset', 'payable': 'liability', 'rent': 'expense', 'drawings': 'dividend', 'cash': 'asset', 'wages': 'expense', 'capital': 'equity'}, 'entries': [['J5', [['equipment', 'C', 100], ['capital', 'D', 70], ['capital', 'D', 30]]], ['J5', [['cash', 'D', 999], ['drawings', 'C', 1000]]], ['J4', [['capital', 'C', 100], ['cash', 'D', 100]]], ['J1', [['payable', 'D', 250], ['cash', 'C', 250], ['wages', 'C', 0], ['wages', 'D', 0]]], ['J4', [['capital', 'D', 999], ['wages', 'C', 999]]], ['J4', [['wages', 'C', 260], ['drawings', 'D', 250]]]]}, {'balances': {'equipment': -100, 'payable': 0, 'rent': 0, 'drawings': 0, 'cash': 100, 'wages': 0, 'capital': 0}, 'rejected': ['J5', 'J1', 'J4', 'J4']}], ['control 6', {'chart': {'rent': 'expense', 'capital': 'equity', 'cash': 'asset', 'drawings': 'dividend', 'acc_depr': 'contra_asset'}, 'entries': [['J2', [['rent', 'D', 5000], ['drawings', 'C', 5000]]], ['J4', [['rent', 'C', 100], ['cash', 'D', 100]]], ['J5', []]]}, {'balances': {'rent': 4900, 'capital': 0, 'cash': 100, 'drawings': -5000, 'acc_depr': 0}, 'rejected': ['J5']}]], [['regression: posting sign by side and normal balance', {'chart': {'equipment': 'asset', 'capital': 'equity', 'sales': 'revenue', 'rent': 'expense', 'loan': 'liability'}, 'entries': [['J5', [['sales', 'D', 1200], ['loan', 'C', 1200]]], ['J3', [['capital', 'D', 999], ['sales', 'C', 999]]], ['J1', [['loan', 'C', 100], ['rent', 'D', 100]]], ['J1', [['capital', 'D', 100], ['sales', 'C', 100]]], ['J4', [['equipment', 'C', 5000], ['rent', 'D', 5000]]], ['J3', [['equipment', 'D', 999], ['suspense', 'C', 999]]], ['J2', [['capital', 'D', 999], ['rent', 'C', 999]]]]}, {'balances': {'equipment': -5000, 'capital': -1998, 'sales': -201, 'rent': 4101, 'loan': 1300}, 'rejected': ['J1', 'J3']}], ['control 1', {'chart': {'capital': 'equity', 'equipment': 'asset', 'cash': 'asset', 'drawings': 'dividend', 'rent': 'expense', 'receivable': 'asset', 'acc_depr': 'contra_asset'}, 'entries': [['J4', [['acc_depr', 'C', 0], ['acc_depr', 'D', 0], ['drawings', 'C', 999], ['capital', 'D', 999]]], ['J4', [['equipment', 'D', -250], ['drawings', 'C', -250]]], ['J2', [['receivable', 'D', 100], ['drawings', 'C', 100]]]]}, {'balances': {'capital': 0, 'equipment': 0, 'cash': 0, 'drawings': -100, 'rent': 0, 'receivable': 100, 'acc_depr': 0}, 'rejected': ['J4', 'J4']}], ['control 2', {'chart': {'sales': 'revenue', 'drawings': 'dividend', 'receivable': 'asset', 'rent': 'expense', 'capital': 'equity', 'cash': 'asset'}, 'entries': [['J3', [['cash', 'D', -999], ['rent', 'C', -999]]], ['J3', [['receivable', 'C', 1200], ['drawings', 'D', 1200]]], ['J3', [['drawings', 'C', 0], ['drawings', 'D', 0], ['rent', 'D', 100], ['receivable', 'C', 100]]], ['J2', [['drawings', 'C', 41], ['rent', 'D', 40]]], ['J1', [['drawings', 'D', -5000], ['cash', 'C', -5000]]]]}, {'balances': {'sales': 0, 'drawings': 1200, 'receivable': -1200, 'rent': 0, 'capital': 0, 'cash': 0}, 'rejected': ['J3', 'J3', 'J2', 'J1']}], ['control 3', {'chart': {'rent': 'expense', 'receivable': 'asset', 'drawings': 'dividend', 'loan': 'liability', 'wages': 'expense'}, 'entries': [['J5', [['wages', 'C', 251], ['loan', 'D', 250]]], ['J4', [['wages', 'C', 260], ['rent', 'D', 250]]], ['J4', [['wages', 'D', 999], ['receivable', 'C', 999]]], ['J1', [['drawings', 'D', 969], ['drawings', 'D', 30], ['receivable', 'C', 999]]]]}, {'balances': {'rent': 0, 'receivable': -1998, 'drawings': 999, 'loan': 0, 'wages': 999}, 'rejected': ['J5', 'J4']}], ['control 4', {'chart': {'rent': 'expense', 'cash': 'asset', 'equipment': 'asset', 'sales': 'revenue', 'drawings': 'dividend'}, 'entries': [['J1', [['equipment', 'D', 5000], ['cash', 'C', 5000]]], ['J5', [['suspense', 'C', 1200], ['sales', 'D', 1200]]], ['J3', [['rent', 'D', 1200], ['drawings', 'C', 0], ['drawings', 'D', 0], ['cash', 'C', 1200]]], ['J4', []], ['J3', []]]}, {'balances': {'rent': 0, 'cash': -5000, 'equipment': 5000, 'sales': 0, 'drawings': 0}, 'rejected': ['J5', 'J3', 'J4', 'J3']}], ['control 5', {'chart': {'payable': 'liability', 'wages': 'expense', 'equipment': 'asset', 'receivable': 'asset', 'sales': 'revenue', 'loan': 'liability', 'drawings': 'dividend'}, 'entries': [['J5', [['wages', 'C', 260], ['equipment', 'D', 250]]], ['J3', [['loan', 'C', -250], ['payable', 'D', -250]]], ['J4', [['wages', 'D', 4970], ['wages', 'D', 30], ['equipment', 'C', 5000]]], ['J4', [['drawings', 'C', 40], ['wages', 'D', 30], ['wages', 'D', 10]]], ['J2', [['wages', 'D', 250], ['receivable', 'C', 250]]], ['J5', [['equipment', 'C', 999], ['drawings', 'D', 999]]], ['J2', [['drawings', 'C', 1200], ['receivable', 'D', 1200]]]]}, {'balances': {'payable': 0, 'wages': 5250, 'equipment': -5999, 'receivable': -250, 'sales': 0, 'loan': 0, 'drawings': 999}, 'rejected': ['J5', 'J3', 'J4', 'J2']}], ['control 6', {'chart': {'rent': 'expense', 'cash': 'asset', 'acc_depr': 'contra_asset', 'receivable': 'asset', 'equipment': 'asset'}, 'entries': [['J1', [['cash', 'D', 999], ['equipment', 'C', 999]]], ['J2', [['acc_depr', 'C', 998], ['rent', 'D', 999]]], ['J5', [['equipment', 'D', 1200], ['acc_depr', 'C', 1200]]], ['J5', [['cash', 'C', 100], ['rent', 'D', 70], ['rent', 'D', 30]]], ['J1', [['cash', 'D', 30], ['equipment', 'C', 1200], ['cash', 'D', 1170]]], ['J2', [['acc_depr', 'D', 1200], ['rent', 'C', 1200]]]]}, {'balances': {'rent': -1200, 'cash': 999, 'acc_depr': 0, 'receivable': 0, 'equipment': 201}, 'rejected': ['J2', 'J5', 'J1']}]], [['regression: posting sign by side and normal balance', {'chart': {'equipment': 'asset', 'sales': 'revenue', 'drawings': 'dividend', 'receivable': 'asset', 'loan': 'liability'}, 'entries': [['J3', [['loan', 'D', 999], ['receivable', 'C', 999]]], ['J5', [['loan', 'C', 5000], ['sales', 'D', 0], ['drawings', 'D', 5000], ['sales', 'C', 0]]], ['J2', [['drawings', 'D', 100], ['suspense', 'C', 100]]], ['J4', [['sales', 'D', 30], ['equipment', 'C', 100], ['sales', 'D', 70]]]]}, {'balances': {'equipment': -100, 'sales': -100, 'drawings': 0, 'receivable': -999, 'loan': -999}, 'rejected': ['J5', 'J2']}], ['control 1', {'chart': {'rent': 'expense', 'drawings': 'dividend', 'cash': 'asset', 'payable': 'liability', 'wages': 'expense'}, 'entries': [['J2', [['cash', 'D', 5000], ['rent', 'C', 5000]]], ['J4', [['rent', 'C', 250], ['cash', 'D', 250]]], ['J4', [['payable', 'D', 30], ['payable', 'D', 10], ['drawings', 'C', 40]]], ['J4', [['payable', 'D', 30], ['rent', 'C', 999], ['payable', 'D', 969]]], ['J2', [['drawings', 'D', 5000], ['suspense', 'C', 5000]]]]}, {'balances': {'rent': -5250, 'drawings': 0, 'cash': 5250, 'payable': 0, 'wages': 0}, 'rejected': ['J4', 'J4', 'J2']}], ['control 2', {'chart': {'drawings': 'dividend', 'cash': 'asset', 'receivable': 'asset', 'loan': 'liability', 'acc_depr': 'contra_asset', 'equipment': 'asset'}, 'entries': [['J1', [['receivable', 'D', 40], ['acc_depr', 'C', 0], ['drawings', 'C', 40], ['acc_depr', 'D', 0]]], ['J5', [['receivable', 'D', 70], ['receivable', 'D', 30], ['equipment', 'C', 100]]], ['J3', [['cash', 'D', 4970], ['receivable', 'C', 5000], ['cash', 'D', 30]]], ['J3', [['receivable', 'C', 40], ['cash', 'D', 40]]], ['J3', [['receivable', 'D', 220], ['acc_depr', 'C', 250], ['receivable', 'D', 30]]], ['J5', [['drawings', 'D', 999], ['acc_depr', 'C', 999]]]]}, {'balances': {'drawings': 0, 'cash': 5000, 'receivable': -4900, 'loan': 0, 'acc_depr': 0, 'equipment': -100}, 'rejected': ['J1', 'J3', 'J3', 'J5']}], ['control 3', {'chart': {'equipment': 'asset', 'receivable': 'asset', 'loan': 'liability', 'wages': 'expense', 'drawings': 'dividend', 'cash': 'asset'}, 'entries': [['J3', [['cash', 'C', 100], ['equipment', 'D', 100]]], ['J2', [['receivable', 'D', -100], ['cash', 'C', -100]]], ['J1', [['suspense', 'C', 1200], ['cash', 'D', 1200]]], ['J2', [['receivable', 'D', 40], ['equipment', 'C', 40]]], ['J3', [['cash', 'D', 40], ['equipment', 'C', 40]]], ['J4', []], ['J2', [['receivable', 'D', 40], ['cash', 'C', 39]]]]}, {'balances': {'equipment': 60, 'receivable': 40, 'loan': 0, 'wages': 0, 'drawings': 0, 'cash': -100}, 'rejected': ['J2', 'J1', 'J3', 'J4', 'J2']}], ['control 4', {'chart': {'wages': 'expense', 'equipment': 'asset', 'receivable': 'asset', 'drawings': 'dividend', 'capital': 'equity', 'sales': 'revenue'}, 'entries': [['J4', [['capital', 'D', -999], ['equipment', 'C', -999]]], ['J4', [['suspense', 'C', 5000], ['capital', 'D', 5000]]], ['J5', [['receivable', 'D', 100], ['suspense', 'C', 100]]]]}, {'balances': {'wages': 0, 'equipment': 0, 'receivable': 0, 'drawings': 0, 'capital': 0, 'sales': 0}, 'rejected': ['J4', 'J4', 'J5']}], ['control 5', {'chart': {'receivable': 'asset', 'capital': 'equity', 'sales': 'revenue', 'cash': 'asset', 'wages': 'expense', 'drawings': 'dividend', 'loan': 'liability'}, 'entries': [['J1', [['capital', 'D', -40], ['wages', 'C', -40]]], ['J4', [['cash', 'C', 250], ['receivable', 'D', 250]]], ['J1', [['cash', 'D', 999], ['wages', 'C', 999]]]]}, {'balances': {'receivable': 250, 'capital': 0, 'sales': 0, 'cash': 749, 'wages': -999, 'drawings': 0, 'loan': 0}, 'rejected': ['J1']}], ['control 6', {'chart': {'payable': 'liability', 'receivable': 'asset', 'wages': 'expense', 'drawings': 'dividend', 'loan': 'liability', 'equipment': 'asset', 'capital': 'equity', 'rent': 'expense'}, 'entries': [['J1', [['receivable', 'C', 100], ['equipment', 'D', 100]]], ['J1', [['equipment', 'C', 5000], ['payable', 'D', 4970], ['payable', 'D', 30]]], ['J1', [['loan', 'C', 100], ['rent', 'D', 100]]]]}, {'balances': {'payable': 0, 'receivable': -100, 'wages': 0, 'drawings': 0, 'loan': 0, 'equipment': 100, 'capital': 0, 'rent': 0}, 'rejected': ['J1', 'J1']}]], [['regression: posting sign by side and normal balance', {'chart': {'cash': 'asset', 'acc_depr': 'contra_asset', 'capital': 'equity', 'rent': 'expense', 'loan': 'liability', 'receivable': 'asset'}, 'entries': [['J1', [['loan', 'C', 100], ['capital', 'D', 70], ['capital', 'D', 30]]], ['J4', [['acc_depr', 'D', 1170], ['acc_depr', 'D', 30], ['loan', 'C', 1200]]], ['J2', [['cash', 'C', -250], ['receivable', 'D', -250]]], ['J4', [['capital', 'D', 4970], ['capital', 'D', 30], ['receivable', 'C', 5000]]], ['J3', [['loan', 'C', 999], ['receivable', 'D', 999]]], ['J5', [['cash', 'D', 999], ['rent', 'C', 999]]]]}, {'balances': {'cash': 999, 'acc_depr': -1200, 'capital': -100, 'rent': -999, 'loan': 2299, 'receivable': 999}, 'rejected': ['J2', 'J4']}], ['control 1', {'chart': {'equipment': 'asset', 'drawings': 'dividend', 'rent': 'expense', 'capital': 'equity', 'receivable': 'asset', 'sales': 'revenue', 'payable': 'liability', 'loan': 'liability'}, 'entries': [['J1', [['receivable', 'C', 999], ['equipment', 'D', 999]]], ['J5', []], ['J3', [['sales', 'D', 5000], ['payable', 'C', 5010]]], ['J1', [['loan', 'D', 40], ['receivable', 'C', 40]]]]}, {'balances': {'equipment': 999, 'drawings': 0, 'rent': 0, 'capital': 0, 'receivable': -999, 'sales': 0, 'payable': 0, 'loan': 0}, 'rejected': ['J5', 'J3', 'J1']}], ['control 2', {'chart': {'payable': 'liability', 'acc_depr': 'contra_asset', 'sales': 'revenue', 'equipment': 'asset', 'cash': 'asset'}, 'entries': [['J5', [['cash', 'D', 1200], ['equipment', 'C', 1200]]], ['J5', [['payable', 'D', 5000], ['sales', 'D', 0], ['equipment', 'C', 5000], ['sales', 'C', 0]]], ['J5', [['sales', 'C', 999], ['cash', 'D', 999]]], ['J2', [['sales', 'C', -5000], ['acc_depr', 'D', -5000]]], ['J3', [['cash', 'D', 1200], ['equipment', 'C', 1200]]], ['J4', [['cash', 'C', 5001], ['payable', 'D', 5000]]], ['J2', [['cash', 'D', 250], ['equipment', 'C', 260]]]]}, {'balances': {'payable': 0, 'acc_depr': 0, 'sales': 0, 'equipment': -2400, 'cash': 2400}, 'rejected': ['J5', 'J5', 'J2', 'J4', 'J2']}], ['control 3', {'chart': {'receivable': 'asset', 'acc_depr': 'contra_asset', 'equipment': 'asset', 'wages': 'expense', 'cash': 'asset', 'loan': 'liability', 'drawings': 'dividend'}, 'entries': [['J4', [['wages', 'C', 5000], ['equipment', 'D', 5000]]], ['J3', [['drawings', 'D', 40], ['receivable', 'C', 40]]], ['J5', [['receivable', 'D', -5000], ['cash', 'C', -5000]]], ['J5', [['wages', 'C', -40], ['acc_depr', 'D', -40]]]]}, {'balances': {'receivable': -40, 'acc_depr': 0, 'equipment': 5000, 'wages': -5000, 'cash': 0, 'loan': 0, 'drawings': 40}, 'rejected': ['J5', 'J5']}], ['control 4', {'chart': {'cash': 'asset', 'wages': 'expense', 'loan': 'liability', 'sales': 'revenue', 'receivable': 'asset'}, 'entries': [['J3', [['receivable', 'D', 1200], ['wages', 'C', 1200]]], ['J2', [['sales', 'C', -250], ['cash', 'D', -250]]], ['J5', [['loan', 'D', 5000], ['sales', 'C', 5001]]], ['J2', [['receivable', 'D', 1170], ['receivable', 'D', 30], ['wages', 'C', 1200]]], ['J2', []], ['J5', [['sales', 'D', 0], ['sales', 'C', 0], ['wages', 'C', 999], ['receivable', 'D', 999]]]]}, {'balances': {'cash': 0, 'wages': -2400, 'loan': 0, 'sales': 0, 'receivable': 2400}, 'rejected': ['J2', 'J5', 'J2', 'J5']}], ['control 5', {'chart': {'wages': 'expense', 'receivable': 'asset', 'rent': 'expense', 'capital': 'equity', 'payable': 'liability', 'drawings': 'dividend', 'acc_depr': 'contra_asset'}, 'entries': [['J5', [['wages', 'D', 100], ['rent', 'C', 100]]], ['J5', [['receivable', 'D', -1200], ['drawings', 'C', -1200]]], ['J3', [['acc_depr', 'D', 0], ['drawings', 'C', 100], ['receivable', 'D', 100], ['acc_depr', 'C', 0]]], ['J5', [['payable', 'D', 999], ['receivable', 'C', 999]]], ['J1', [['rent', 'D', 999], ['drawings', 'C', 999]]], ['J2', [['drawings', 'D', 40], ['rent', 'C', 40]]]]}, {'balances': {'wages': 100, 'receivable': 0, 'rent': 859, 'capital': 0, 'payable': 0, 'drawings': -959, 'acc_depr': 0}, 'rejected': ['J5', 'J3', 'J5']}], ['control 6', {'chart': {'loan': 'liability', 'receivable': 'asset', 'payable': 'liability', 'drawings': 'dividend', 'wages': 'expense'}, 'entries': [['J5', [['wages', 'D', 5000], ['receivable', 'C', 5000]]], ['J2', [['payable', 'D', 250], ['loan', 'D', 0], ['loan', 'C', 0], ['receivable', 'C', 250]]], ['J1', [['payable', 'C', 39], ['wages', 'D', 40]]]]}, {'balances': {'loan': 0, 'receivable': -5000, 'payable': 0, 'drawings': 0, 'wages': 5000}, 'rejected': ['J2', 'J1']}]]]\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":"e65f914da0286b10559f0373f1ccde8de5afec4fcb3565c9239b01bb60b7ba6c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    chart = x['chart']\n    debit_normal = {'asset', 'expense', 'dividend'}\n    bal = {a: 0 for a in chart}\n    rejected = []\n    posted = set()\n    for eid, lines in x['entries']:\n        ok = eid not in posted and len(lines) >= 2\n        dr = cr = 0\n        for acct, side, amt in lines:\n            if acct not in chart or side not in ('D', 'C') or amt <= 0:\n                ok = False\n            elif side == 'D':\n                dr += amt\n            else:\n                cr += amt\n        if not ok or dr != cr:\n            rejected.append(eid)\n            continue\n        posted.add(eid)\n        for acct, side, amt in lines:\n            sign = 1 if side == 'D' else -1\n            bal[acct] += sign * amt\n    return {'balances': bal, 'rejected': rejected}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: posting sign by side and normal balance', {'chart': {'acc_depr': 'contra_asset', 'drawings': 'dividend', 'payable': 'liability', 'equipment': 'asset', 'capital': 'equity'}, 'entries': [['J1', [['payable', 'D', 40], ['equipment', 'C', 40]]], ['J3', [['equipment', 'C', 5000], ['payable', 'D', 5000]]], ['J1', [['acc_depr', 'C', 1200], ['payable', 'D', 1170], ['payable', 'D', 30]]], ['J4', [['equipment', 'C', 5000], ['acc_depr', 'D', 4970], ['acc_depr', 'D', 30]]], ['J3', [['acc_depr', 'D', -40], ['equipment', 'C', -40]]]]}, {'balances': {'acc_depr': -5000, 'drawings': 0, 'payable': -5040, 'equipment': -10040, 'capital': 0}, 'rejected': ['J1', 'J3']}], ['control 1', {'chart': {'capital': 'equity', 'rent': 'expense', 'cash': 'asset', 'receivable': 'asset', 'drawings': 'dividend', 'equipment': 'asset', 'wages': 'expense', 'sales': 'revenue'}, 'entries': [['J2', [['suspense', 'C', 999], ['sales', 'D', 999]]], ['J5', [['wages', 'C', 250], ['equipment', 'D', 250]]], ['J3', [['wages', 'C', 40], ['rent', 'D', 40]]], ['J5', [['drawings', 'C', 100], ['wages', 'C', 0], ['sales', 'D', 100], ['wages', 'D', 0]]], ['J4', [['equipment', 'D', 1200], ['wages', 'C', 1200]]], ['J2', [['rent', 'D', 100], ['equipment', 'C', 100]]]]}, {'balances': {'capital': 0, 'rent': 140, 'cash': 0, 'receivable': 0, 'drawings': 0, 'equipment': 1350, 'wages': -1490, 'sales': 0}, 'rejected': ['J2', 'J5']}], ['control 2', {'chart': {'drawings': 'dividend', 'wages': 'expense', 'receivable': 'asset', 'rent': 'expense', 'cash': 'asset'}, 'entries': [['J4', [['receivable', 'C', 5000], ['cash', 'D', 4970], ['cash', 'D', 30]]], ['J1', [['drawings', 'D', 40], ['receivable', 'C', 40]]], ['J3', []]]}, {'balances': {'drawings': 40, 'wages': 0, 'receivable': -5040, 'rent': 0, 'cash': 5000}, 'rejected': ['J3']}], ['control 3', {'chart': {'receivable': 'asset', 'equipment': 'asset', 'drawings': 'dividend', 'payable': 'liability', 'wages': 'expense', 'cash': 'asset', 'rent': 'expense'}, 'entries': [['J3', [['receivable', 'D', 999], ['equipment', 'C', 999]]], ['J1', [['receivable', 'D', 100], ['payable', 'C', 100]]], ['J4', [['payable', 'D', 100], ['rent', 'C', 100]]], ['J1', [['rent', 'D', 999], ['wages', 'C', 999]]], ['J2', [['drawings', 'C', 250], ['wages', 'D', 250]]], ['J3', [['rent', 'C', 40], ['payable', 'D', 40]]], ['J2', [['equipment', 'C', 250], ['cash', 'D', 250]]]]}, {'balances': {'receivable': 1099, 'equipment': -999, 'drawings': -250, 'payable': 0, 'wages': 250, 'cash': 0, 'rent': -100}, 'rejected': ['J1', 'J3', 'J2']}], ['control 4', {'chart': {'cash': 'asset', 'equipment': 'asset', 'receivable': 'asset', 'wages': 'expense', 'acc_depr': 'contra_asset', 'rent': 'expense'}, 'entries': [['J2', [['receivable', 'C', 5000], ['wages', 'D', 5000]]], ['J3', [['rent', 'D', 1200], ['cash', 'C', 1200]]], ['J4', [['equipment', 'D', 250], ['receivable', 'C', 250]]]]}, {'balances': {'cash': -1200, 'equipment': 250, 'receivable': -5250, 'wages': 5000, 'acc_depr': 0, 'rent': 1200}, 'rejected': []}], ['control 5', {'chart': {'cash': 'asset', 'equipment': 'asset', 'payable': 'liability', 'drawings': 'dividend', 'loan': 'liability', 'acc_depr': 'contra_asset', 'rent': 'expense'}, 'entries': [['J4', [['cash', 'D', -999], ['rent', 'C', -999]]], ['J4', [['equipment', 'C', 5000], ['rent', 'D', 5000]]], ['J4', [['rent', 'C', 40], ['payable', 'D', 40]]], ['J3', [['rent', 'D', -999], ['cash', 'C', -999]]], ['J1', [['payable', 'C', 0], ['rent', 'C', 5000], ['cash', 'D', 5000], ['payable', 'D', 0]]]]}, {'balances': {'cash': 0, 'equipment': -5000, 'payable': 0, 'drawings': 0, 'loan': 0, 'acc_depr': 0, 'rent': 5000}, 'rejected': ['J4', 'J4', 'J3', 'J1']}], ['control 6', {'chart': {'rent': 'expense', 'sales': 'revenue', 'capital': 'equity', 'payable': 'liability', 'drawings': 'dividend', 'equipment': 'asset', 'wages': 'expense', 'receivable': 'asset'}, 'entries': [['J3', [['capital', 'D', -40], ['equipment', 'C', -40]]], ['J5', [['receivable', 'D', 999], ['drawings', 'C', 0], ['drawings', 'D', 0], ['rent', 'C', 999]]], ['J2', [['sales', 'C', 40], ['receivable', 'D', 40], ['rent', 'D', 0], ['rent', 'C', 0]]], ['J5', [['equipment', 'D', 1200], ['drawings', 'C', 1200]]], ['J2', [['wages', 'C', 40], ['receivable', 'D', 40]]], ['J5', [['sales', 'D', 250], ['drawings', 'C', 250]]], ['J4', [['equipment', 'D', 100], ['suspense', 'C', 100]]]]}, {'balances': {'rent': 0, 'sales': 0, 'capital': 0, 'payable': 0, 'drawings': -1200, 'equipment': 1200, 'wages': -40, 'receivable': 40}, 'rejected': ['J3', 'J5', 'J2', 'J5', 'J4']}]], [['regression: posting sign by side and normal balance', {'chart': {'acc_depr': 'contra_asset', 'loan': 'liability', 'equipment': 'asset', 'sales': 'revenue', 'wages': 'expense'}, 'entries': [['J3', [['acc_depr', 'D', 30], ['acc_depr', 'D', 4970], ['loan', 'C', 5000]]], ['J2', [['loan', 'D', 4970], ['loan', 'D', 30], ['acc_depr', 'C', 5000]]], ['J3', [['loan', 'D', 5000], ['wages', 'C', 4999]]], ['J4', [['sales', 'D', 999], ['acc_depr', 'C', 999]]], ['J3', [['loan', 'C', 40], ['sales', 'D', 40]]]]}, {'balances': {'acc_depr': 999, 'loan': 0, 'equipment': 0, 'sales': -999, 'wages': 0}, 'rejected': ['J3', 'J3']}], ['control 1', {'chart': {'drawings': 'dividend', 'sales': 'revenue', 'equipment': 'asset', 'cash': 'asset', 'receivable': 'asset'}, 'entries': [['J5', [['drawings', 'C', 1200], ['equipment', 'D', 1200]]], ['J3', [['receivable', 'C', 250], ['drawings', 'D', 250]]], ['J4', [['receivable', 'D', 999], ['drawings', 'C', 999]]]]}, {'balances': {'drawings': -1949, 'sales': 0, 'equipment': 1200, 'cash': 0, 'receivable': 749}, 'rejected': []}], ['control 2', {'chart': {'equipment': 'asset', 'wages': 'expense', 'capital': 'equity', 'receivable': 'asset', 'sales': 'revenue', 'rent': 'expense', 'loan': 'liability'}, 'entries': [['J3', [['wages', 'D', 250], ['rent', 'C', 250]]], ['J2', [['receivable', 'D', 250], ['suspense', 'C', 250]]], ['J1', [['loan', 'C', 1199], ['wages', 'D', 1200]]], ['J3', [['sales', 'C', 100], ['receivable', 'D', 100]]]]}, {'balances': {'equipment': 0, 'wages': 250, 'capital': 0, 'receivable': 0, 'sales': 0, 'rent': -250, 'loan': 0}, 'rejected': ['J2', 'J1', 'J3']}], ['control 3', {'chart': {'wages': 'expense', 'drawings': 'dividend', 'payable': 'liability', 'equipment': 'asset', 'sales': 'revenue', 'receivable': 'asset', 'cash': 'asset', 'capital': 'equity'}, 'entries': [['J4', [['cash', 'D', 250], ['sales', 'C', 249]]], ['J2', [['sales', 'C', 1200], ['drawings', 'D', 1200], ['equipment', 'C', 0], ['equipment', 'D', 0]]], ['J3', [['wages', 'C', -100], ['payable', 'D', -100]]]]}, {'balances': {'wages': 0, 'drawings': 0, 'payable': 0, 'equipment': 0, 'sales': 0, 'receivable': 0, 'cash': 0, 'capital': 0}, 'rejected': ['J4', 'J2', 'J3']}], ['control 4', {'chart': {'drawings': 'dividend', 'acc_depr': 'contra_asset', 'loan': 'liability', 'capital': 'equity', 'equipment': 'asset', 'wages': 'expense'}, 'entries': [['J1', [['equipment', 'C', 40], ['drawings', 'D', 40]]], ['J1', [['wages', 'D', 30], ['acc_depr', 'C', 1200], ['wages', 'D', 1170]]], ['J3', [['capital', 'C', 0], ['drawings', 'D', 1200], ['acc_depr', 'C', 1200], ['capital', 'D', 0]]], ['J1', [['drawings', 'C', 100], ['acc_depr', 'D', 100]]]]}, {'balances': {'drawings': 40, 'acc_depr': 0, 'loan': 0, 'capital': 0, 'equipment': -40, 'wages': 0}, 'rejected': ['J1', 'J3', 'J1']}], ['control 5', {'chart': {'equipment': 'asset', 'payable': 'liability', 'rent': 'expense', 'drawings': 'dividend', 'cash': 'asset', 'wages': 'expense', 'capital': 'equity'}, 'entries': [['J5', [['equipment', 'C', 100], ['capital', 'D', 70], ['capital', 'D', 30]]], ['J5', [['cash', 'D', 999], ['drawings', 'C', 1000]]], ['J4', [['capital', 'C', 100], ['cash', 'D', 100]]], ['J1', [['payable', 'D', 250], ['cash', 'C', 250], ['wages', 'C', 0], ['wages', 'D', 0]]], ['J4', [['capital', 'D', 999], ['wages', 'C', 999]]], ['J4', [['wages', 'C', 260], ['drawings', 'D', 250]]]]}, {'balances': {'equipment': -100, 'payable': 0, 'rent': 0, 'drawings': 0, 'cash': 100, 'wages': 0, 'capital': 0}, 'rejected': ['J5', 'J1', 'J4', 'J4']}], ['control 6', {'chart': {'rent': 'expense', 'capital': 'equity', 'cash': 'asset', 'drawings': 'dividend', 'acc_depr': 'contra_asset'}, 'entries': [['J2', [['rent', 'D', 5000], ['drawings', 'C', 5000]]], ['J4', [['rent', 'C', 100], ['cash', 'D', 100]]], ['J5', []]]}, {'balances': {'rent': 4900, 'capital': 0, 'cash': 100, 'drawings': -5000, 'acc_depr': 0}, 'rejected': ['J5']}]], [['regression: posting sign by side and normal balance', {'chart': {'equipment': 'asset', 'capital': 'equity', 'sales': 'revenue', 'rent': 'expense', 'loan': 'liability'}, 'entries': [['J5', [['sales', 'D', 1200], ['loan', 'C', 1200]]], ['J3', [['capital', 'D', 999], ['sales', 'C', 999]]], ['J1', [['loan', 'C', 100], ['rent', 'D', 100]]], ['J1', [['capital', 'D', 100], ['sales', 'C', 100]]], ['J4', [['equipment', 'C', 5000], ['rent', 'D', 5000]]], ['J3', [['equipment', 'D', 999], ['suspense', 'C', 999]]], ['J2', [['capital', 'D', 999], ['rent', 'C', 999]]]]}, {'balances': {'equipment': -5000, 'capital': -1998, 'sales': -201, 'rent': 4101, 'loan': 1300}, 'rejected': ['J1', 'J3']}], ['control 1', {'chart': {'capital': 'equity', 'equipment': 'asset', 'cash': 'asset', 'drawings': 'dividend', 'rent': 'expense', 'receivable': 'asset', 'acc_depr': 'contra_asset'}, 'entries': [['J4', [['acc_depr', 'C', 0], ['acc_depr', 'D', 0], ['drawings', 'C', 999], ['capital', 'D', 999]]], ['J4', [['equipment', 'D', -250], ['drawings', 'C', -250]]], ['J2', [['receivable', 'D', 100], ['drawings', 'C', 100]]]]}, {'balances': {'capital': 0, 'equipment': 0, 'cash': 0, 'drawings': -100, 'rent': 0, 'receivable': 100, 'acc_depr': 0}, 'rejected': ['J4', 'J4']}], ['control 2', {'chart': {'sales': 'revenue', 'drawings': 'dividend', 'receivable': 'asset', 'rent': 'expense', 'capital': 'equity', 'cash': 'asset'}, 'entries': [['J3', [['cash', 'D', -999], ['rent', 'C', -999]]], ['J3', [['receivable', 'C', 1200], ['drawings', 'D', 1200]]], ['J3', [['drawings', 'C', 0], ['drawings', 'D', 0], ['rent', 'D', 100], ['receivable', 'C', 100]]], ['J2', [['drawings', 'C', 41], ['rent', 'D', 40]]], ['J1', [['drawings', 'D', -5000], ['cash', 'C', -5000]]]]}, {'balances': {'sales': 0, 'drawings': 1200, 'receivable': -1200, 'rent': 0, 'capital': 0, 'cash': 0}, 'rejected': ['J3', 'J3', 'J2', 'J1']}], ['control 3', {'chart': {'rent': 'expense', 'receivable': 'asset', 'drawings': 'dividend', 'loan': 'liability', 'wages': 'expense'}, 'entries': [['J5', [['wages', 'C', 251], ['loan', 'D', 250]]], ['J4', [['wages', 'C', 260], ['rent', 'D', 250]]], ['J4', [['wages', 'D', 999], ['receivable', 'C', 999]]], ['J1', [['drawings', 'D', 969], ['drawings', 'D', 30], ['receivable', 'C', 999]]]]}, {'balances': {'rent': 0, 'receivable': -1998, 'drawings': 999, 'loan': 0, 'wages': 999}, 'rejected': ['J5', 'J4']}], ['control 4', {'chart': {'rent': 'expense', 'cash': 'asset', 'equipment': 'asset', 'sales': 'revenue', 'drawings': 'dividend'}, 'entries': [['J1', [['equipment', 'D', 5000], ['cash', 'C', 5000]]], ['J5', [['suspense', 'C', 1200], ['sales', 'D', 1200]]], ['J3', [['rent', 'D', 1200], ['drawings', 'C', 0], ['drawings', 'D', 0], ['cash', 'C', 1200]]], ['J4', []], ['J3', []]]}, {'balances': {'rent': 0, 'cash': -5000, 'equipment': 5000, 'sales': 0, 'drawings': 0}, 'rejected': ['J5', 'J3', 'J4', 'J3']}], ['control 5', {'chart': {'payable': 'liability', 'wages': 'expense', 'equipment': 'asset', 'receivable': 'asset', 'sales': 'revenue', 'loan': 'liability', 'drawings': 'dividend'}, 'entries': [['J5', [['wages', 'C', 260], ['equipment', 'D', 250]]], ['J3', [['loan', 'C', -250], ['payable', 'D', -250]]], ['J4', [['wages', 'D', 4970], ['wages', 'D', 30], ['equipment', 'C', 5000]]], ['J4', [['drawings', 'C', 40], ['wages', 'D', 30], ['wages', 'D', 10]]], ['J2', [['wages', 'D', 250], ['receivable', 'C', 250]]], ['J5', [['equipment', 'C', 999], ['drawings', 'D', 999]]], ['J2', [['drawings', 'C', 1200], ['receivable', 'D', 1200]]]]}, {'balances': {'payable': 0, 'wages': 5250, 'equipment': -5999, 'receivable': -250, 'sales': 0, 'loan': 0, 'drawings': 999}, 'rejected': ['J5', 'J3', 'J4', 'J2']}], ['control 6', {'chart': {'rent': 'expense', 'cash': 'asset', 'acc_depr': 'contra_asset', 'receivable': 'asset', 'equipment': 'asset'}, 'entries': [['J1', [['cash', 'D', 999], ['equipment', 'C', 999]]], ['J2', [['acc_depr', 'C', 998], ['rent', 'D', 999]]], ['J5', [['equipment', 'D', 1200], ['acc_depr', 'C', 1200]]], ['J5', [['cash', 'C', 100], ['rent', 'D', 70], ['rent', 'D', 30]]], ['J1', [['cash', 'D', 30], ['equipment', 'C', 1200], ['cash', 'D', 1170]]], ['J2', [['acc_depr', 'D', 1200], ['rent', 'C', 1200]]]]}, {'balances': {'rent': -1200, 'cash': 999, 'acc_depr': 0, 'receivable': 0, 'equipment': 201}, 'rejected': ['J2', 'J5', 'J1']}]], [['regression: posting sign by side and normal balance', {'chart': {'equipment': 'asset', 'sales': 'revenue', 'drawings': 'dividend', 'receivable': 'asset', 'loan': 'liability'}, 'entries': [['J3', [['loan', 'D', 999], ['receivable', 'C', 999]]], ['J5', [['loan', 'C', 5000], ['sales', 'D', 0], ['drawings', 'D', 5000], ['sales', 'C', 0]]], ['J2', [['drawings', 'D', 100], ['suspense', 'C', 100]]], ['J4', [['sales', 'D', 30], ['equipment', 'C', 100], ['sales', 'D', 70]]]]}, {'balances': {'equipment': -100, 'sales': -100, 'drawings': 0, 'receivable': -999, 'loan': -999}, 'rejected': ['J5', 'J2']}], ['control 1', {'chart': {'rent': 'expense', 'drawings': 'dividend', 'cash': 'asset', 'payable': 'liability', 'wages': 'expense'}, 'entries': [['J2', [['cash', 'D', 5000], ['rent', 'C', 5000]]], ['J4', [['rent', 'C', 250], ['cash', 'D', 250]]], ['J4', [['payable', 'D', 30], ['payable', 'D', 10], ['drawings', 'C', 40]]], ['J4', [['payable', 'D', 30], ['rent', 'C', 999], ['payable', 'D', 969]]], ['J2', [['drawings', 'D', 5000], ['suspense', 'C', 5000]]]]}, {'balances': {'rent': -5250, 'drawings': 0, 'cash': 5250, 'payable': 0, 'wages': 0}, 'rejected': ['J4', 'J4', 'J2']}], ['control 2', {'chart': {'drawings': 'dividend', 'cash': 'asset', 'receivable': 'asset', 'loan': 'liability', 'acc_depr': 'contra_asset', 'equipment': 'asset'}, 'entries': [['J1', [['receivable', 'D', 40], ['acc_depr', 'C', 0], ['drawings', 'C', 40], ['acc_depr', 'D', 0]]], ['J5', [['receivable', 'D', 70], ['receivable', 'D', 30], ['equipment', 'C', 100]]], ['J3', [['cash', 'D', 4970], ['receivable', 'C', 5000], ['cash', 'D', 30]]], ['J3', [['receivable', 'C', 40], ['cash', 'D', 40]]], ['J3', [['receivable', 'D', 220], ['acc_depr', 'C', 250], ['receivable', 'D', 30]]], ['J5', [['drawings', 'D', 999], ['acc_depr', 'C', 999]]]]}, {'balances': {'drawings': 0, 'cash': 5000, 'receivable': -4900, 'loan': 0, 'acc_depr': 0, 'equipment': -100}, 'rejected': ['J1', 'J3', 'J3', 'J5']}], ['control 3', {'chart': {'equipment': 'asset', 'receivable': 'asset', 'loan': 'liability', 'wages': 'expense', 'drawings': 'dividend', 'cash': 'asset'}, 'entries': [['J3', [['cash', 'C', 100], ['equipment', 'D', 100]]], ['J2', [['receivable', 'D', -100], ['cash', 'C', -100]]], ['J1', [['suspense', 'C', 1200], ['cash', 'D', 1200]]], ['J2', [['receivable', 'D', 40], ['equipment', 'C', 40]]], ['J3', [['cash', 'D', 40], ['equipment', 'C', 40]]], ['J4', []], ['J2', [['receivable', 'D', 40], ['cash', 'C', 39]]]]}, {'balances': {'equipment': 60, 'receivable': 40, 'loan': 0, 'wages': 0, 'drawings': 0, 'cash': -100}, 'rejected': ['J2', 'J1', 'J3', 'J4', 'J2']}], ['control 4', {'chart': {'wages': 'expense', 'equipment': 'asset', 'receivable': 'asset', 'drawings': 'dividend', 'capital': 'equity', 'sales': 'revenue'}, 'entries': [['J4', [['capital', 'D', -999], ['equipment', 'C', -999]]], ['J4', [['suspense', 'C', 5000], ['capital', 'D', 5000]]], ['J5', [['receivable', 'D', 100], ['suspense', 'C', 100]]]]}, {'balances': {'wages': 0, 'equipment': 0, 'receivable': 0, 'drawings': 0, 'capital': 0, 'sales': 0}, 'rejected': ['J4', 'J4', 'J5']}], ['control 5', {'chart': {'receivable': 'asset', 'capital': 'equity', 'sales': 'revenue', 'cash': 'asset', 'wages': 'expense', 'drawings': 'dividend', 'loan': 'liability'}, 'entries': [['J1', [['capital', 'D', -40], ['wages', 'C', -40]]], ['J4', [['cash', 'C', 250], ['receivable', 'D', 250]]], ['J1', [['cash', 'D', 999], ['wages', 'C', 999]]]]}, {'balances': {'receivable': 250, 'capital': 0, 'sales': 0, 'cash': 749, 'wages': -999, 'drawings': 0, 'loan': 0}, 'rejected': ['J1']}], ['control 6', {'chart': {'payable': 'liability', 'receivable': 'asset', 'wages': 'expense', 'drawings': 'dividend', 'loan': 'liability', 'equipment': 'asset', 'capital': 'equity', 'rent': 'expense'}, 'entries': [['J1', [['receivable', 'C', 100], ['equipment', 'D', 100]]], ['J1', [['equipment', 'C', 5000], ['payable', 'D', 4970], ['payable', 'D', 30]]], ['J1', [['loan', 'C', 100], ['rent', 'D', 100]]]]}, {'balances': {'payable': 0, 'receivable': -100, 'wages': 0, 'drawings': 0, 'loan': 0, 'equipment': 100, 'capital': 0, 'rent': 0}, 'rejected': ['J1', 'J1']}]], [['regression: posting sign by side and normal balance', {'chart': {'cash': 'asset', 'acc_depr': 'contra_asset', 'capital': 'equity', 'rent': 'expense', 'loan': 'liability', 'receivable': 'asset'}, 'entries': [['J1', [['loan', 'C', 100], ['capital', 'D', 70], ['capital', 'D', 30]]], ['J4', [['acc_depr', 'D', 1170], ['acc_depr', 'D', 30], ['loan', 'C', 1200]]], ['J2', [['cash', 'C', -250], ['receivable', 'D', -250]]], ['J4', [['capital', 'D', 4970], ['capital', 'D', 30], ['receivable', 'C', 5000]]], ['J3', [['loan', 'C', 999], ['receivable', 'D', 999]]], ['J5', [['cash', 'D', 999], ['rent', 'C', 999]]]]}, {'balances': {'cash': 999, 'acc_depr': -1200, 'capital': -100, 'rent': -999, 'loan': 2299, 'receivable': 999}, 'rejected': ['J2', 'J4']}], ['control 1', {'chart': {'equipment': 'asset', 'drawings': 'dividend', 'rent': 'expense', 'capital': 'equity', 'receivable': 'asset', 'sales': 'revenue', 'payable': 'liability', 'loan': 'liability'}, 'entries': [['J1', [['receivable', 'C', 999], ['equipment', 'D', 999]]], ['J5', []], ['J3', [['sales', 'D', 5000], ['payable', 'C', 5010]]], ['J1', [['loan', 'D', 40], ['receivable', 'C', 40]]]]}, {'balances': {'equipment': 999, 'drawings': 0, 'rent': 0, 'capital': 0, 'receivable': -999, 'sales': 0, 'payable': 0, 'loan': 0}, 'rejected': ['J5', 'J3', 'J1']}], ['control 2', {'chart': {'payable': 'liability', 'acc_depr': 'contra_asset', 'sales': 'revenue', 'equipment': 'asset', 'cash': 'asset'}, 'entries': [['J5', [['cash', 'D', 1200], ['equipment', 'C', 1200]]], ['J5', [['payable', 'D', 5000], ['sales', 'D', 0], ['equipment', 'C', 5000], ['sales', 'C', 0]]], ['J5', [['sales', 'C', 999], ['cash', 'D', 999]]], ['J2', [['sales', 'C', -5000], ['acc_depr', 'D', -5000]]], ['J3', [['cash', 'D', 1200], ['equipment', 'C', 1200]]], ['J4', [['cash', 'C', 5001], ['payable', 'D', 5000]]], ['J2', [['cash', 'D', 250], ['equipment', 'C', 260]]]]}, {'balances': {'payable': 0, 'acc_depr': 0, 'sales': 0, 'equipment': -2400, 'cash': 2400}, 'rejected': ['J5', 'J5', 'J2', 'J4', 'J2']}], ['control 3', {'chart': {'receivable': 'asset', 'acc_depr': 'contra_asset', 'equipment': 'asset', 'wages': 'expense', 'cash': 'asset', 'loan': 'liability', 'drawings': 'dividend'}, 'entries': [['J4', [['wages', 'C', 5000], ['equipment', 'D', 5000]]], ['J3', [['drawings', 'D', 40], ['receivable', 'C', 40]]], ['J5', [['receivable', 'D', -5000], ['cash', 'C', -5000]]], ['J5', [['wages', 'C', -40], ['acc_depr', 'D', -40]]]]}, {'balances': {'receivable': -40, 'acc_depr': 0, 'equipment': 5000, 'wages': -5000, 'cash': 0, 'loan': 0, 'drawings': 40}, 'rejected': ['J5', 'J5']}], ['control 4', {'chart': {'cash': 'asset', 'wages': 'expense', 'loan': 'liability', 'sales': 'revenue', 'receivable': 'asset'}, 'entries': [['J3', [['receivable', 'D', 1200], ['wages', 'C', 1200]]], ['J2', [['sales', 'C', -250], ['cash', 'D', -250]]], ['J5', [['loan', 'D', 5000], ['sales', 'C', 5001]]], ['J2', [['receivable', 'D', 1170], ['receivable', 'D', 30], ['wages', 'C', 1200]]], ['J2', []], ['J5', [['sales', 'D', 0], ['sales', 'C', 0], ['wages', 'C', 999], ['receivable', 'D', 999]]]]}, {'balances': {'cash': 0, 'wages': -2400, 'loan': 0, 'sales': 0, 'receivable': 2400}, 'rejected': ['J2', 'J5', 'J2', 'J5']}], ['control 5', {'chart': {'wages': 'expense', 'receivable': 'asset', 'rent': 'expense', 'capital': 'equity', 'payable': 'liability', 'drawings': 'dividend', 'acc_depr': 'contra_asset'}, 'entries': [['J5', [['wages', 'D', 100], ['rent', 'C', 100]]], ['J5', [['receivable', 'D', -1200], ['drawings', 'C', -1200]]], ['J3', [['acc_depr', 'D', 0], ['drawings', 'C', 100], ['receivable', 'D', 100], ['acc_depr', 'C', 0]]], ['J5', [['payable', 'D', 999], ['receivable', 'C', 999]]], ['J1', [['rent', 'D', 999], ['drawings', 'C', 999]]], ['J2', [['drawings', 'D', 40], ['rent', 'C', 40]]]]}, {'balances': {'wages': 100, 'receivable': 0, 'rent': 859, 'capital': 0, 'payable': 0, 'drawings': -959, 'acc_depr': 0}, 'rejected': ['J5', 'J3', 'J5']}], ['control 6', {'chart': {'loan': 'liability', 'receivable': 'asset', 'payable': 'liability', 'drawings': 'dividend', 'wages': 'expense'}, 'entries': [['J5', [['wages', 'D', 5000], ['receivable', 'C', 5000]]], ['J2', [['payable', 'D', 250], ['loan', 'D', 0], ['loan', 'C', 0], ['receivable', 'C', 250]]], ['J1', [['payable', 'C', 39], ['wages', 'D', 40]]]]}, {'balances': {'loan': 0, 'receivable': -5000, 'payable': 0, 'drawings': 0, 'wages': 5000}, 'rejected': ['J2', 'J1']}]]]\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":"476079f544085196c0246a235b3a72a5697341ca1a68b3404e3ddb286a158b5b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    chart = x['chart']\n    debit_normal = {'asset', 'expense', 'dividend'}\n    bal = {a: 0 for a in chart}\n    rejected = []\n    posted = set()\n    for eid, lines in x['entries']:\n        ok = eid not in posted and len(lines) >= 2\n        dr = cr = 0\n        for acct, side, amt in lines:\n            if acct not in chart or side not in ('D', 'C') or amt <= 0:\n                ok = False\n            elif side == 'D':\n                dr += amt\n            else:\n                cr += amt\n        if not ok or dr != cr:\n            rejected.append(eid)\n            continue\n        posted.add(eid)\n        for acct, side, amt in lines:\n            sign = 1 if (side == 'D') == (chart[acct] in debit_normal) else -1\n            bal[acct] += sign * amt\n    return {'balances': bal, 'rejected': rejected}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: posting sign by side and normal balance', {'chart': {'acc_depr': 'contra_asset', 'drawings': 'dividend', 'payable': 'liability', 'equipment': 'asset', 'capital': 'equity'}, 'entries': [['J1', [['payable', 'D', 40], ['equipment', 'C', 40]]], ['J3', [['equipment', 'C', 5000], ['payable', 'D', 5000]]], ['J1', [['acc_depr', 'C', 1200], ['payable', 'D', 1170], ['payable', 'D', 30]]], ['J4', [['equipment', 'C', 5000], ['acc_depr', 'D', 4970], ['acc_depr', 'D', 30]]], ['J3', [['acc_depr', 'D', -40], ['equipment', 'C', -40]]]]}, {'balances': {'acc_depr': -5000, 'drawings': 0, 'payable': -5040, 'equipment': -10040, 'capital': 0}, 'rejected': ['J1', 'J3']}], ['control 1', {'chart': {'capital': 'equity', 'rent': 'expense', 'cash': 'asset', 'receivable': 'asset', 'drawings': 'dividend', 'equipment': 'asset', 'wages': 'expense', 'sales': 'revenue'}, 'entries': [['J2', [['suspense', 'C', 999], ['sales', 'D', 999]]], ['J5', [['wages', 'C', 250], ['equipment', 'D', 250]]], ['J3', [['wages', 'C', 40], ['rent', 'D', 40]]], ['J5', [['drawings', 'C', 100], ['wages', 'C', 0], ['sales', 'D', 100], ['wages', 'D', 0]]], ['J4', [['equipment', 'D', 1200], ['wages', 'C', 1200]]], ['J2', [['rent', 'D', 100], ['equipment', 'C', 100]]]]}, {'balances': {'capital': 0, 'rent': 140, 'cash': 0, 'receivable': 0, 'drawings': 0, 'equipment': 1350, 'wages': -1490, 'sales': 0}, 'rejected': ['J2', 'J5']}], ['control 2', {'chart': {'drawings': 'dividend', 'wages': 'expense', 'receivable': 'asset', 'rent': 'expense', 'cash': 'asset'}, 'entries': [['J4', [['receivable', 'C', 5000], ['cash', 'D', 4970], ['cash', 'D', 30]]], ['J1', [['drawings', 'D', 40], ['receivable', 'C', 40]]], ['J3', []]]}, {'balances': {'drawings': 40, 'wages': 0, 'receivable': -5040, 'rent': 0, 'cash': 5000}, 'rejected': ['J3']}], ['control 3', {'chart': {'receivable': 'asset', 'equipment': 'asset', 'drawings': 'dividend', 'payable': 'liability', 'wages': 'expense', 'cash': 'asset', 'rent': 'expense'}, 'entries': [['J3', [['receivable', 'D', 999], ['equipment', 'C', 999]]], ['J1', [['receivable', 'D', 100], ['payable', 'C', 100]]], ['J4', [['payable', 'D', 100], ['rent', 'C', 100]]], ['J1', [['rent', 'D', 999], ['wages', 'C', 999]]], ['J2', [['drawings', 'C', 250], ['wages', 'D', 250]]], ['J3', [['rent', 'C', 40], ['payable', 'D', 40]]], ['J2', [['equipment', 'C', 250], ['cash', 'D', 250]]]]}, {'balances': {'receivable': 1099, 'equipment': -999, 'drawings': -250, 'payable': 0, 'wages': 250, 'cash': 0, 'rent': -100}, 'rejected': ['J1', 'J3', 'J2']}], ['control 4', {'chart': {'cash': 'asset', 'equipment': 'asset', 'receivable': 'asset', 'wages': 'expense', 'acc_depr': 'contra_asset', 'rent': 'expense'}, 'entries': [['J2', [['receivable', 'C', 5000], ['wages', 'D', 5000]]], ['J3', [['rent', 'D', 1200], ['cash', 'C', 1200]]], ['J4', [['equipment', 'D', 250], ['receivable', 'C', 250]]]]}, {'balances': {'cash': -1200, 'equipment': 250, 'receivable': -5250, 'wages': 5000, 'acc_depr': 0, 'rent': 1200}, 'rejected': []}], ['control 5', {'chart': {'cash': 'asset', 'equipment': 'asset', 'payable': 'liability', 'drawings': 'dividend', 'loan': 'liability', 'acc_depr': 'contra_asset', 'rent': 'expense'}, 'entries': [['J4', [['cash', 'D', -999], ['rent', 'C', -999]]], ['J4', [['equipment', 'C', 5000], ['rent', 'D', 5000]]], ['J4', [['rent', 'C', 40], ['payable', 'D', 40]]], ['J3', [['rent', 'D', -999], ['cash', 'C', -999]]], ['J1', [['payable', 'C', 0], ['rent', 'C', 5000], ['cash', 'D', 5000], ['payable', 'D', 0]]]]}, {'balances': {'cash': 0, 'equipment': -5000, 'payable': 0, 'drawings': 0, 'loan': 0, 'acc_depr': 0, 'rent': 5000}, 'rejected': ['J4', 'J4', 'J3', 'J1']}], ['control 6', {'chart': {'rent': 'expense', 'sales': 'revenue', 'capital': 'equity', 'payable': 'liability', 'drawings': 'dividend', 'equipment': 'asset', 'wages': 'expense', 'receivable': 'asset'}, 'entries': [['J3', [['capital', 'D', -40], ['equipment', 'C', -40]]], ['J5', [['receivable', 'D', 999], ['drawings', 'C', 0], ['drawings', 'D', 0], ['rent', 'C', 999]]], ['J2', [['sales', 'C', 40], ['receivable', 'D', 40], ['rent', 'D', 0], ['rent', 'C', 0]]], ['J5', [['equipment', 'D', 1200], ['drawings', 'C', 1200]]], ['J2', [['wages', 'C', 40], ['receivable', 'D', 40]]], ['J5', [['sales', 'D', 250], ['drawings', 'C', 250]]], ['J4', [['equipment', 'D', 100], ['suspense', 'C', 100]]]]}, {'balances': {'rent': 0, 'sales': 0, 'capital': 0, 'payable': 0, 'drawings': -1200, 'equipment': 1200, 'wages': -40, 'receivable': 40}, 'rejected': ['J3', 'J5', 'J2', 'J5', 'J4']}]], [['regression: posting sign by side and normal balance', {'chart': {'acc_depr': 'contra_asset', 'loan': 'liability', 'equipment': 'asset', 'sales': 'revenue', 'wages': 'expense'}, 'entries': [['J3', [['acc_depr', 'D', 30], ['acc_depr', 'D', 4970], ['loan', 'C', 5000]]], ['J2', [['loan', 'D', 4970], ['loan', 'D', 30], ['acc_depr', 'C', 5000]]], ['J3', [['loan', 'D', 5000], ['wages', 'C', 4999]]], ['J4', [['sales', 'D', 999], ['acc_depr', 'C', 999]]], ['J3', [['loan', 'C', 40], ['sales', 'D', 40]]]]}, {'balances': {'acc_depr': 999, 'loan': 0, 'equipment': 0, 'sales': -999, 'wages': 0}, 'rejected': ['J3', 'J3']}], ['control 1', {'chart': {'drawings': 'dividend', 'sales': 'revenue', 'equipment': 'asset', 'cash': 'asset', 'receivable': 'asset'}, 'entries': [['J5', [['drawings', 'C', 1200], ['equipment', 'D', 1200]]], ['J3', [['receivable', 'C', 250], ['drawings', 'D', 250]]], ['J4', [['receivable', 'D', 999], ['drawings', 'C', 999]]]]}, {'balances': {'drawings': -1949, 'sales': 0, 'equipment': 1200, 'cash': 0, 'receivable': 749}, 'rejected': []}], ['control 2', {'chart': {'equipment': 'asset', 'wages': 'expense', 'capital': 'equity', 'receivable': 'asset', 'sales': 'revenue', 'rent': 'expense', 'loan': 'liability'}, 'entries': [['J3', [['wages', 'D', 250], ['rent', 'C', 250]]], ['J2', [['receivable', 'D', 250], ['suspense', 'C', 250]]], ['J1', [['loan', 'C', 1199], ['wages', 'D', 1200]]], ['J3', [['sales', 'C', 100], ['receivable', 'D', 100]]]]}, {'balances': {'equipment': 0, 'wages': 250, 'capital': 0, 'receivable': 0, 'sales': 0, 'rent': -250, 'loan': 0}, 'rejected': ['J2', 'J1', 'J3']}], ['control 3', {'chart': {'wages': 'expense', 'drawings': 'dividend', 'payable': 'liability', 'equipment': 'asset', 'sales': 'revenue', 'receivable': 'asset', 'cash': 'asset', 'capital': 'equity'}, 'entries': [['J4', [['cash', 'D', 250], ['sales', 'C', 249]]], ['J2', [['sales', 'C', 1200], ['drawings', 'D', 1200], ['equipment', 'C', 0], ['equipment', 'D', 0]]], ['J3', [['wages', 'C', -100], ['payable', 'D', -100]]]]}, {'balances': {'wages': 0, 'drawings': 0, 'payable': 0, 'equipment': 0, 'sales': 0, 'receivable': 0, 'cash': 0, 'capital': 0}, 'rejected': ['J4', 'J2', 'J3']}], ['control 4', {'chart': {'drawings': 'dividend', 'acc_depr': 'contra_asset', 'loan': 'liability', 'capital': 'equity', 'equipment': 'asset', 'wages': 'expense'}, 'entries': [['J1', [['equipment', 'C', 40], ['drawings', 'D', 40]]], ['J1', [['wages', 'D', 30], ['acc_depr', 'C', 1200], ['wages', 'D', 1170]]], ['J3', [['capital', 'C', 0], ['drawings', 'D', 1200], ['acc_depr', 'C', 1200], ['capital', 'D', 0]]], ['J1', [['drawings', 'C', 100], ['acc_depr', 'D', 100]]]]}, {'balances': {'drawings': 40, 'acc_depr': 0, 'loan': 0, 'capital': 0, 'equipment': -40, 'wages': 0}, 'rejected': ['J1', 'J3', 'J1']}], ['control 5', {'chart': {'equipment': 'asset', 'payable': 'liability', 'rent': 'expense', 'drawings': 'dividend', 'cash': 'asset', 'wages': 'expense', 'capital': 'equity'}, 'entries': [['J5', [['equipment', 'C', 100], ['capital', 'D', 70], ['capital', 'D', 30]]], ['J5', [['cash', 'D', 999], ['drawings', 'C', 1000]]], ['J4', [['capital', 'C', 100], ['cash', 'D', 100]]], ['J1', [['payable', 'D', 250], ['cash', 'C', 250], ['wages', 'C', 0], ['wages', 'D', 0]]], ['J4', [['capital', 'D', 999], ['wages', 'C', 999]]], ['J4', [['wages', 'C', 260], ['drawings', 'D', 250]]]]}, {'balances': {'equipment': -100, 'payable': 0, 'rent': 0, 'drawings': 0, 'cash': 100, 'wages': 0, 'capital': 0}, 'rejected': ['J5', 'J1', 'J4', 'J4']}], ['control 6', {'chart': {'rent': 'expense', 'capital': 'equity', 'cash': 'asset', 'drawings': 'dividend', 'acc_depr': 'contra_asset'}, 'entries': [['J2', [['rent', 'D', 5000], ['drawings', 'C', 5000]]], ['J4', [['rent', 'C', 100], ['cash', 'D', 100]]], ['J5', []]]}, {'balances': {'rent': 4900, 'capital': 0, 'cash': 100, 'drawings': -5000, 'acc_depr': 0}, 'rejected': ['J5']}]], [['regression: posting sign by side and normal balance', {'chart': {'equipment': 'asset', 'capital': 'equity', 'sales': 'revenue', 'rent': 'expense', 'loan': 'liability'}, 'entries': [['J5', [['sales', 'D', 1200], ['loan', 'C', 1200]]], ['J3', [['capital', 'D', 999], ['sales', 'C', 999]]], ['J1', [['loan', 'C', 100], ['rent', 'D', 100]]], ['J1', [['capital', 'D', 100], ['sales', 'C', 100]]], ['J4', [['equipment', 'C', 5000], ['rent', 'D', 5000]]], ['J3', [['equipment', 'D', 999], ['suspense', 'C', 999]]], ['J2', [['capital', 'D', 999], ['rent', 'C', 999]]]]}, {'balances': {'equipment': -5000, 'capital': -1998, 'sales': -201, 'rent': 4101, 'loan': 1300}, 'rejected': ['J1', 'J3']}], ['control 1', {'chart': {'capital': 'equity', 'equipment': 'asset', 'cash': 'asset', 'drawings': 'dividend', 'rent': 'expense', 'receivable': 'asset', 'acc_depr': 'contra_asset'}, 'entries': [['J4', [['acc_depr', 'C', 0], ['acc_depr', 'D', 0], ['drawings', 'C', 999], ['capital', 'D', 999]]], ['J4', [['equipment', 'D', -250], ['drawings', 'C', -250]]], ['J2', [['receivable', 'D', 100], ['drawings', 'C', 100]]]]}, {'balances': {'capital': 0, 'equipment': 0, 'cash': 0, 'drawings': -100, 'rent': 0, 'receivable': 100, 'acc_depr': 0}, 'rejected': ['J4', 'J4']}], ['control 2', {'chart': {'sales': 'revenue', 'drawings': 'dividend', 'receivable': 'asset', 'rent': 'expense', 'capital': 'equity', 'cash': 'asset'}, 'entries': [['J3', [['cash', 'D', -999], ['rent', 'C', -999]]], ['J3', [['receivable', 'C', 1200], ['drawings', 'D', 1200]]], ['J3', [['drawings', 'C', 0], ['drawings', 'D', 0], ['rent', 'D', 100], ['receivable', 'C', 100]]], ['J2', [['drawings', 'C', 41], ['rent', 'D', 40]]], ['J1', [['drawings', 'D', -5000], ['cash', 'C', -5000]]]]}, {'balances': {'sales': 0, 'drawings': 1200, 'receivable': -1200, 'rent': 0, 'capital': 0, 'cash': 0}, 'rejected': ['J3', 'J3', 'J2', 'J1']}], ['control 3', {'chart': {'rent': 'expense', 'receivable': 'asset', 'drawings': 'dividend', 'loan': 'liability', 'wages': 'expense'}, 'entries': [['J5', [['wages', 'C', 251], ['loan', 'D', 250]]], ['J4', [['wages', 'C', 260], ['rent', 'D', 250]]], ['J4', [['wages', 'D', 999], ['receivable', 'C', 999]]], ['J1', [['drawings', 'D', 969], ['drawings', 'D', 30], ['receivable', 'C', 999]]]]}, {'balances': {'rent': 0, 'receivable': -1998, 'drawings': 999, 'loan': 0, 'wages': 999}, 'rejected': ['J5', 'J4']}], ['control 4', {'chart': {'rent': 'expense', 'cash': 'asset', 'equipment': 'asset', 'sales': 'revenue', 'drawings': 'dividend'}, 'entries': [['J1', [['equipment', 'D', 5000], ['cash', 'C', 5000]]], ['J5', [['suspense', 'C', 1200], ['sales', 'D', 1200]]], ['J3', [['rent', 'D', 1200], ['drawings', 'C', 0], ['drawings', 'D', 0], ['cash', 'C', 1200]]], ['J4', []], ['J3', []]]}, {'balances': {'rent': 0, 'cash': -5000, 'equipment': 5000, 'sales': 0, 'drawings': 0}, 'rejected': ['J5', 'J3', 'J4', 'J3']}], ['control 5', {'chart': {'payable': 'liability', 'wages': 'expense', 'equipment': 'asset', 'receivable': 'asset', 'sales': 'revenue', 'loan': 'liability', 'drawings': 'dividend'}, 'entries': [['J5', [['wages', 'C', 260], ['equipment', 'D', 250]]], ['J3', [['loan', 'C', -250], ['payable', 'D', -250]]], ['J4', [['wages', 'D', 4970], ['wages', 'D', 30], ['equipment', 'C', 5000]]], ['J4', [['drawings', 'C', 40], ['wages', 'D', 30], ['wages', 'D', 10]]], ['J2', [['wages', 'D', 250], ['receivable', 'C', 250]]], ['J5', [['equipment', 'C', 999], ['drawings', 'D', 999]]], ['J2', [['drawings', 'C', 1200], ['receivable', 'D', 1200]]]]}, {'balances': {'payable': 0, 'wages': 5250, 'equipment': -5999, 'receivable': -250, 'sales': 0, 'loan': 0, 'drawings': 999}, 'rejected': ['J5', 'J3', 'J4', 'J2']}], ['control 6', {'chart': {'rent': 'expense', 'cash': 'asset', 'acc_depr': 'contra_asset', 'receivable': 'asset', 'equipment': 'asset'}, 'entries': [['J1', [['cash', 'D', 999], ['equipment', 'C', 999]]], ['J2', [['acc_depr', 'C', 998], ['rent', 'D', 999]]], ['J5', [['equipment', 'D', 1200], ['acc_depr', 'C', 1200]]], ['J5', [['cash', 'C', 100], ['rent', 'D', 70], ['rent', 'D', 30]]], ['J1', [['cash', 'D', 30], ['equipment', 'C', 1200], ['cash', 'D', 1170]]], ['J2', [['acc_depr', 'D', 1200], ['rent', 'C', 1200]]]]}, {'balances': {'rent': -1200, 'cash': 999, 'acc_depr': 0, 'receivable': 0, 'equipment': 201}, 'rejected': ['J2', 'J5', 'J1']}]], [['regression: posting sign by side and normal balance', {'chart': {'equipment': 'asset', 'sales': 'revenue', 'drawings': 'dividend', 'receivable': 'asset', 'loan': 'liability'}, 'entries': [['J3', [['loan', 'D', 999], ['receivable', 'C', 999]]], ['J5', [['loan', 'C', 5000], ['sales', 'D', 0], ['drawings', 'D', 5000], ['sales', 'C', 0]]], ['J2', [['drawings', 'D', 100], ['suspense', 'C', 100]]], ['J4', [['sales', 'D', 30], ['equipment', 'C', 100], ['sales', 'D', 70]]]]}, {'balances': {'equipment': -100, 'sales': -100, 'drawings': 0, 'receivable': -999, 'loan': -999}, 'rejected': ['J5', 'J2']}], ['control 1', {'chart': {'rent': 'expense', 'drawings': 'dividend', 'cash': 'asset', 'payable': 'liability', 'wages': 'expense'}, 'entries': [['J2', [['cash', 'D', 5000], ['rent', 'C', 5000]]], ['J4', [['rent', 'C', 250], ['cash', 'D', 250]]], ['J4', [['payable', 'D', 30], ['payable', 'D', 10], ['drawings', 'C', 40]]], ['J4', [['payable', 'D', 30], ['rent', 'C', 999], ['payable', 'D', 969]]], ['J2', [['drawings', 'D', 5000], ['suspense', 'C', 5000]]]]}, {'balances': {'rent': -5250, 'drawings': 0, 'cash': 5250, 'payable': 0, 'wages': 0}, 'rejected': ['J4', 'J4', 'J2']}], ['control 2', {'chart': {'drawings': 'dividend', 'cash': 'asset', 'receivable': 'asset', 'loan': 'liability', 'acc_depr': 'contra_asset', 'equipment': 'asset'}, 'entries': [['J1', [['receivable', 'D', 40], ['acc_depr', 'C', 0], ['drawings', 'C', 40], ['acc_depr', 'D', 0]]], ['J5', [['receivable', 'D', 70], ['receivable', 'D', 30], ['equipment', 'C', 100]]], ['J3', [['cash', 'D', 4970], ['receivable', 'C', 5000], ['cash', 'D', 30]]], ['J3', [['receivable', 'C', 40], ['cash', 'D', 40]]], ['J3', [['receivable', 'D', 220], ['acc_depr', 'C', 250], ['receivable', 'D', 30]]], ['J5', [['drawings', 'D', 999], ['acc_depr', 'C', 999]]]]}, {'balances': {'drawings': 0, 'cash': 5000, 'receivable': -4900, 'loan': 0, 'acc_depr': 0, 'equipment': -100}, 'rejected': ['J1', 'J3', 'J3', 'J5']}], ['control 3', {'chart': {'equipment': 'asset', 'receivable': 'asset', 'loan': 'liability', 'wages': 'expense', 'drawings': 'dividend', 'cash': 'asset'}, 'entries': [['J3', [['cash', 'C', 100], ['equipment', 'D', 100]]], ['J2', [['receivable', 'D', -100], ['cash', 'C', -100]]], ['J1', [['suspense', 'C', 1200], ['cash', 'D', 1200]]], ['J2', [['receivable', 'D', 40], ['equipment', 'C', 40]]], ['J3', [['cash', 'D', 40], ['equipment', 'C', 40]]], ['J4', []], ['J2', [['receivable', 'D', 40], ['cash', 'C', 39]]]]}, {'balances': {'equipment': 60, 'receivable': 40, 'loan': 0, 'wages': 0, 'drawings': 0, 'cash': -100}, 'rejected': ['J2', 'J1', 'J3', 'J4', 'J2']}], ['control 4', {'chart': {'wages': 'expense', 'equipment': 'asset', 'receivable': 'asset', 'drawings': 'dividend', 'capital': 'equity', 'sales': 'revenue'}, 'entries': [['J4', [['capital', 'D', -999], ['equipment', 'C', -999]]], ['J4', [['suspense', 'C', 5000], ['capital', 'D', 5000]]], ['J5', [['receivable', 'D', 100], ['suspense', 'C', 100]]]]}, {'balances': {'wages': 0, 'equipment': 0, 'receivable': 0, 'drawings': 0, 'capital': 0, 'sales': 0}, 'rejected': ['J4', 'J4', 'J5']}], ['control 5', {'chart': {'receivable': 'asset', 'capital': 'equity', 'sales': 'revenue', 'cash': 'asset', 'wages': 'expense', 'drawings': 'dividend', 'loan': 'liability'}, 'entries': [['J1', [['capital', 'D', -40], ['wages', 'C', -40]]], ['J4', [['cash', 'C', 250], ['receivable', 'D', 250]]], ['J1', [['cash', 'D', 999], ['wages', 'C', 999]]]]}, {'balances': {'receivable': 250, 'capital': 0, 'sales': 0, 'cash': 749, 'wages': -999, 'drawings': 0, 'loan': 0}, 'rejected': ['J1']}], ['control 6', {'chart': {'payable': 'liability', 'receivable': 'asset', 'wages': 'expense', 'drawings': 'dividend', 'loan': 'liability', 'equipment': 'asset', 'capital': 'equity', 'rent': 'expense'}, 'entries': [['J1', [['receivable', 'C', 100], ['equipment', 'D', 100]]], ['J1', [['equipment', 'C', 5000], ['payable', 'D', 4970], ['payable', 'D', 30]]], ['J1', [['loan', 'C', 100], ['rent', 'D', 100]]]]}, {'balances': {'payable': 0, 'receivable': -100, 'wages': 0, 'drawings': 0, 'loan': 0, 'equipment': 100, 'capital': 0, 'rent': 0}, 'rejected': ['J1', 'J1']}]], [['regression: posting sign by side and normal balance', {'chart': {'cash': 'asset', 'acc_depr': 'contra_asset', 'capital': 'equity', 'rent': 'expense', 'loan': 'liability', 'receivable': 'asset'}, 'entries': [['J1', [['loan', 'C', 100], ['capital', 'D', 70], ['capital', 'D', 30]]], ['J4', [['acc_depr', 'D', 1170], ['acc_depr', 'D', 30], ['loan', 'C', 1200]]], ['J2', [['cash', 'C', -250], ['receivable', 'D', -250]]], ['J4', [['capital', 'D', 4970], ['capital', 'D', 30], ['receivable', 'C', 5000]]], ['J3', [['loan', 'C', 999], ['receivable', 'D', 999]]], ['J5', [['cash', 'D', 999], ['rent', 'C', 999]]]]}, {'balances': {'cash': 999, 'acc_depr': -1200, 'capital': -100, 'rent': -999, 'loan': 2299, 'receivable': 999}, 'rejected': ['J2', 'J4']}], ['control 1', {'chart': {'equipment': 'asset', 'drawings': 'dividend', 'rent': 'expense', 'capital': 'equity', 'receivable': 'asset', 'sales': 'revenue', 'payable': 'liability', 'loan': 'liability'}, 'entries': [['J1', [['receivable', 'C', 999], ['equipment', 'D', 999]]], ['J5', []], ['J3', [['sales', 'D', 5000], ['payable', 'C', 5010]]], ['J1', [['loan', 'D', 40], ['receivable', 'C', 40]]]]}, {'balances': {'equipment': 999, 'drawings': 0, 'rent': 0, 'capital': 0, 'receivable': -999, 'sales': 0, 'payable': 0, 'loan': 0}, 'rejected': ['J5', 'J3', 'J1']}], ['control 2', {'chart': {'payable': 'liability', 'acc_depr': 'contra_asset', 'sales': 'revenue', 'equipment': 'asset', 'cash': 'asset'}, 'entries': [['J5', [['cash', 'D', 1200], ['equipment', 'C', 1200]]], ['J5', [['payable', 'D', 5000], ['sales', 'D', 0], ['equipment', 'C', 5000], ['sales', 'C', 0]]], ['J5', [['sales', 'C', 999], ['cash', 'D', 999]]], ['J2', [['sales', 'C', -5000], ['acc_depr', 'D', -5000]]], ['J3', [['cash', 'D', 1200], ['equipment', 'C', 1200]]], ['J4', [['cash', 'C', 5001], ['payable', 'D', 5000]]], ['J2', [['cash', 'D', 250], ['equipment', 'C', 260]]]]}, {'balances': {'payable': 0, 'acc_depr': 0, 'sales': 0, 'equipment': -2400, 'cash': 2400}, 'rejected': ['J5', 'J5', 'J2', 'J4', 'J2']}], ['control 3', {'chart': {'receivable': 'asset', 'acc_depr': 'contra_asset', 'equipment': 'asset', 'wages': 'expense', 'cash': 'asset', 'loan': 'liability', 'drawings': 'dividend'}, 'entries': [['J4', [['wages', 'C', 5000], ['equipment', 'D', 5000]]], ['J3', [['drawings', 'D', 40], ['receivable', 'C', 40]]], ['J5', [['receivable', 'D', -5000], ['cash', 'C', -5000]]], ['J5', [['wages', 'C', -40], ['acc_depr', 'D', -40]]]]}, {'balances': {'receivable': -40, 'acc_depr': 0, 'equipment': 5000, 'wages': -5000, 'cash': 0, 'loan': 0, 'drawings': 40}, 'rejected': ['J5', 'J5']}], ['control 4', {'chart': {'cash': 'asset', 'wages': 'expense', 'loan': 'liability', 'sales': 'revenue', 'receivable': 'asset'}, 'entries': [['J3', [['receivable', 'D', 1200], ['wages', 'C', 1200]]], ['J2', [['sales', 'C', -250], ['cash', 'D', -250]]], ['J5', [['loan', 'D', 5000], ['sales', 'C', 5001]]], ['J2', [['receivable', 'D', 1170], ['receivable', 'D', 30], ['wages', 'C', 1200]]], ['J2', []], ['J5', [['sales', 'D', 0], ['sales', 'C', 0], ['wages', 'C', 999], ['receivable', 'D', 999]]]]}, {'balances': {'cash': 0, 'wages': -2400, 'loan': 0, 'sales': 0, 'receivable': 2400}, 'rejected': ['J2', 'J5', 'J2', 'J5']}], ['control 5', {'chart': {'wages': 'expense', 'receivable': 'asset', 'rent': 'expense', 'capital': 'equity', 'payable': 'liability', 'drawings': 'dividend', 'acc_depr': 'contra_asset'}, 'entries': [['J5', [['wages', 'D', 100], ['rent', 'C', 100]]], ['J5', [['receivable', 'D', -1200], ['drawings', 'C', -1200]]], ['J3', [['acc_depr', 'D', 0], ['drawings', 'C', 100], ['receivable', 'D', 100], ['acc_depr', 'C', 0]]], ['J5', [['payable', 'D', 999], ['receivable', 'C', 999]]], ['J1', [['rent', 'D', 999], ['drawings', 'C', 999]]], ['J2', [['drawings', 'D', 40], ['rent', 'C', 40]]]]}, {'balances': {'wages': 100, 'receivable': 0, 'rent': 859, 'capital': 0, 'payable': 0, 'drawings': -959, 'acc_depr': 0}, 'rejected': ['J5', 'J3', 'J5']}], ['control 6', {'chart': {'loan': 'liability', 'receivable': 'asset', 'payable': 'liability', 'drawings': 'dividend', 'wages': 'expense'}, 'entries': [['J5', [['wages', 'D', 5000], ['receivable', 'C', 5000]]], ['J2', [['payable', 'D', 250], ['loan', 'D', 0], ['loan', 'C', 0], ['receivable', 'C', 250]]], ['J1', [['payable', 'C', 39], ['wages', 'D', 40]]]]}, {'balances': {'loan': 0, 'receivable': -5000, 'payable': 0, 'drawings': 0, 'wages': 5000}, 'rejected': ['J2', 'J1']}]]]\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-journal-posting-posting-sign-by-side-and-normal-balance","generated_at":"2026-09-29T14:46:21.106510+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":"Sign a line positive exactly when its side matches the account normal side.","root_cause":"Balances are signed debit-positive for every account instead of relative to the account normal side.","sha256":"33623c77a342f660610d4872588547c08631e4c06b9b3198d4ac3343415b53b1","title":"Journal posting engine: posting sign by side and normal balance · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":48.676,"exit_code":1,"observations":[{"actual":{"balances":{"acc_depr":5000,"capital":0,"drawings":0,"equipment":-10040,"payable":5040},"rejected":["J1","J3"]},"check":"regression: posting sign by side and normal balance","expected":{"balances":{"acc_depr":-5000,"capital":0,"drawings":0,"equipment":-10040,"payable":-5040},"rejected":["J1","J3"]},"passed":false},{"actual":{"balances":{"capital":0,"cash":0,"drawings":0,"equipment":1350,"receivable":0,"rent":140,"sales":0,"wages":-1490},"rejected":["J2","J5"]},"check":"control 1","expected":{"balances":{"capital":0,"cash":0,"drawings":0,"equipment":1350,"receivable":0,"rent":140,"sales":0,"wages":-1490},"rejected":["J2","J5"]},"passed":true},{"actual":{"balances":{"cash":5000,"drawings":40,"receivable":-5040,"rent":0,"wages":0},"rejected":["J3"]},"check":"control 2","expected":{"balances":{"cash":5000,"drawings":40,"receivable":-5040,"rent":0,"wages":0},"rejected":["J3"]},"passed":true},{"actual":{"balances":{"cash":0,"drawings":-250,"equipment":-999,"payable":200,"receivable":1099,"rent":-100,"wages":250},"rejected":["J1","J3","J2"]},"check":"control 3","expected":{"balances":{"cash":0,"drawings":-250,"equipment":-999,"payable":0,"receivable":1099,"rent":-100,"wages":250},"rejected":["J1","J3","J2"]},"passed":false},{"actual":{"balances":{"acc_depr":0,"cash":-1200,"equipment":250,"receivable":-5250,"rent":1200,"wages":5000},"rejected":[]},"check":"control 4","expected":{"balances":{"acc_depr":0,"cash":-1200,"equipment":250,"receivable":-5250,"rent":1200,"wages":5000},"rejected":[]},"passed":true},{"actual":{"balances":{"acc_depr":0,"cash":0,"drawings":0,"equipment":-5000,"loan":0,"payable":0,"rent":5000},"rejected":["J4","J4","J3","J1"]},"check":"control 5","expected":{"balances":{"acc_depr":0,"cash":0,"drawings":0,"equipment":-5000,"loan":0,"payable":0,"rent":5000},"rejected":["J4","J4","J3","J1"]},"passed":true},{"actual":{"balances":{"capital":0,"drawings":-1200,"equipment":1200,"payable":0,"receivable":40,"rent":0,"sales":0,"wages":-40},"rejected":["J3","J5","J2","J5","J4"]},"check":"control 6","expected":{"balances":{"capital":0,"drawings":-1200,"equipment":1200,"payable":0,"receivable":40,"rent":0,"sales":0,"wages":-40},"rejected":["J3","J5","J2","J5","J4"]},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: posting sign by side and normal balance\", \"actual\": {\"balances\": {\"acc_depr\": 5000, \"drawings\": 0, \"payable\": 5040, \"equipment\": -10040, \"capital\": 0}, \"rejected\": [\"J1\", \"J3\"]}, \"expected\": {\"balances\": {\"acc_depr\": -5000, \"drawings\": 0, \"payable\": -5040, \"equipment\": -10040, \"capital\": 0}, \"rejected\": [\"J1\", \"J3\"]}, \"passed\": false}, {\"check\": \"control 1\", \"actual\": {\"balances\": {\"capital\": 0, \"rent\": 140, \"cash\": 0, \"receivable\": 0, \"drawings\": 0, \"equipment\": 1350, \"wages\": -1490, \"sales\": 0}, \"rejected\": [\"J2\", \"J5\"]}, \"expected\": {\"balances\": {\"capital\": 0, \"rent\": 140, \"cash\": 0, \"receivable\": 0, \"drawings\": 0, \"equipment\": 1350, \"wages\": -1490, \"sales\": 0}, \"rejected\": [\"J2\", \"J5\"]}, \"passed\": true}, {\"check\": \"control 2\", \"actual\": {\"balances\": {\"drawings\": 40, \"wages\": 0, \"receivable\": -5040, \"rent\": 0, \"cash\": 5000}, \"rejected\": [\"J3\"]}, \"expected\": {\"balances\": {\"drawings\": 40, \"wages\": 0, \"receivable\": -5040, \"rent\": 0, \"cash\": 5000}, \"rejected\": [\"J3\"]}, \"passed\": true}, {\"check\": \"control 3\", \"actual\": {\"balances\": {\"receivable\": 1099, \"equipment\": -999, \"drawings\": -250, \"payable\": 200, \"wages\": 250, \"cash\": 0, \"rent\": -100}, \"rejected\": [\"J1\", \"J3\", \"J2\"]}, \"expected\": {\"balances\": {\"receivable\": 1099, \"equipment\": -999, \"drawings\": -250, \"payable\": 0, \"wages\": 250, \"cash\": 0, \"rent\": -100}, \"rejected\": [\"J1\", \"J3\", \"J2\"]}, \"passed\": false}, {\"check\": \"control 4\", \"actual\": {\"balances\": {\"cash\": -1200, \"equipment\": 250, \"receivable\": -5250, \"wages\": 5000, \"acc_depr\": 0, \"rent\": 1200}, \"rejected\": []}, \"expected\": {\"balances\": {\"cash\": -1200, \"equipment\": 250, \"receivable\": -5250, \"wages\": 5000, \"acc_depr\": 0, \"rent\": 1200}, \"rejected\": []}, \"passed\": true}, {\"check\": \"control 5\", \"actual\": {\"balances\": {\"cash\": 0, \"equipment\": -5000, \"payable\": 0, \"drawings\": 0, \"loan\": 0, \"acc_depr\": 0, \"rent\": 5000}, \"rejected\": [\"J4\", \"J4\", \"J3\", \"J1\"]}, \"expected\": {\"balances\": {\"cash\": 0, \"equipment\": -5000, \"payable\": 0, \"drawings\": 0, \"loan\": 0, \"acc_depr\": 0, \"rent\": 5000}, \"rejected\": [\"J4\", \"J4\", \"J3\", \"J1\"]}, \"passed\": true}, {\"check\": \"control 6\", \"actual\": {\"balances\": {\"rent\": 0, \"sales\": 0, \"capital\": 0, \"payable\": 0, \"drawings\": -1200, \"equipment\": 1200, \"wages\": -40, \"receivable\": 40}, \"rejected\": [\"J3\", \"J5\", \"J2\", \"J5\", \"J4\"]}, \"expected\": {\"balances\": {\"rent\": 0, \"sales\": 0, \"capital\": 0, \"payable\": 0, \"drawings\": -1200, \"equipment\": 1200, \"wages\": -40, \"receivable\": 40}, \"rejected\": [\"J3\", \"J5\", \"J2\", \"J5\", \"J4\"]}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":47.12,"exit_code":1,"observations":[{"actual":{"balances":{"acc_depr":5000,"capital":0,"drawings":0,"equipment":-10040,"payable":5040},"rejected":["J1","J3"]},"check":"regression: posting sign by side and normal balance","expected":{"balances":{"acc_depr":-5000,"capital":0,"drawings":0,"equipment":-10040,"payable":-5040},"rejected":["J1","J3"]},"passed":false},{"actual":{"balances":{"capital":0,"cash":0,"drawings":0,"equipment":1350,"receivable":0,"rent":140,"sales":0,"wages":-1490},"rejected":["J2","J5"]},"check":"control 1","expected":{"balances":{"capital":0,"cash":0,"drawings":0,"equipment":1350,"receivable":0,"rent":140,"sales":0,"wages":-1490},"rejected":["J2","J5"]},"passed":true},{"actual":{"balances":{"cash":5000,"drawings":40,"receivable":-5040,"rent":0,"wages":0},"rejected":["J3"]},"check":"control 2","expected":{"balances":{"cash":5000,"drawings":40,"receivable":-5040,"rent":0,"wages":0},"rejected":["J3"]},"passed":true},{"actual":{"balances":{"cash":0,"drawings":-250,"equipment":-999,"payable":0,"receivable":1099,"rent":-100,"wages":250},"rejected":["J1","J3","J2"]},"check":"control 3","expected":{"balances":{"cash":0,"drawings":-250,"equipment":-999,"payable":0,"receivable":1099,"rent":-100,"wages":250},"rejected":["J1","J3","J2"]},"passed":true},{"actual":{"balances":{"acc_depr":0,"cash":-1200,"equipment":250,"receivable":-5250,"rent":1200,"wages":5000},"rejected":[]},"check":"control 4","expected":{"balances":{"acc_depr":0,"cash":-1200,"equipment":250,"receivable":-5250,"rent":1200,"wages":5000},"rejected":[]},"passed":true},{"actual":{"balances":{"acc_depr":0,"cash":0,"drawings":0,"equipment":-5000,"loan":0,"payable":0,"rent":5000},"rejected":["J4","J4","J3","J1"]},"check":"control 5","expected":{"balances":{"acc_depr":0,"cash":0,"drawings":0,"equipment":-5000,"loan":0,"payable":0,"rent":5000},"rejected":["J4","J4","J3","J1"]},"passed":true},{"actual":{"balances":{"capital":0,"drawings":-1200,"equipment":1200,"payable":0,"receivable":40,"rent":0,"sales":0,"wages":-40},"rejected":["J3","J5","J2","J5","J4"]},"check":"control 6","expected":{"balances":{"capital":0,"drawings":-1200,"equipment":1200,"payable":0,"receivable":40,"rent":0,"sales":0,"wages":-40},"rejected":["J3","J5","J2","J5","J4"]},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: posting sign by side and normal balance\", \"actual\": {\"balances\": {\"acc_depr\": 5000, \"drawings\": 0, \"payable\": 5040, \"equipment\": -10040, \"capital\": 0}, \"rejected\": [\"J1\", \"J3\"]}, \"expected\": {\"balances\": {\"acc_depr\": -5000, \"drawings\": 0, \"payable\": -5040, \"equipment\": -10040, \"capital\": 0}, \"rejected\": [\"J1\", \"J3\"]}, \"passed\": false}, {\"check\": \"control 1\", \"actual\": {\"balances\": {\"capital\": 0, \"rent\": 140, \"cash\": 0, \"receivable\": 0, \"drawings\": 0, \"equipment\": 1350, \"wages\": -1490, \"sales\": 0}, \"rejected\": [\"J2\", \"J5\"]}, \"expected\": {\"balances\": {\"capital\": 0, \"rent\": 140, \"cash\": 0, \"receivable\": 0, \"drawings\": 0, \"equipment\": 1350, \"wages\": -1490, \"sales\": 0}, \"rejected\": [\"J2\", \"J5\"]}, \"passed\": true}, {\"check\": \"control 2\", \"actual\": {\"balances\": {\"drawings\": 40, \"wages\": 0, \"receivable\": -5040, \"rent\": 0, \"cash\": 5000}, \"rejected\": [\"J3\"]}, \"expected\": {\"balances\": {\"drawings\": 40, \"wages\": 0, \"receivable\": -5040, \"rent\": 0, \"cash\": 5000}, \"rejected\": [\"J3\"]}, \"passed\": true}, {\"check\": \"control 3\", \"actual\": {\"balances\": {\"receivable\": 1099, \"equipment\": -999, \"drawings\": -250, \"payable\": 0, \"wages\": 250, \"cash\": 0, \"rent\": -100}, \"rejected\": [\"J1\", \"J3\", \"J2\"]}, \"expected\": {\"balances\": {\"receivable\": 1099, \"equipment\": -999, \"drawings\": -250, \"payable\": 0, \"wages\": 250, \"cash\": 0, \"rent\": -100}, \"rejected\": [\"J1\", \"J3\", \"J2\"]}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"balances\": {\"cash\": -1200, \"equipment\": 250, \"receivable\": -5250, \"wages\": 5000, \"acc_depr\": 0, \"rent\": 1200}, \"rejected\": []}, \"expected\": {\"balances\": {\"cash\": -1200, \"equipment\": 250, \"receivable\": -5250, \"wages\": 5000, \"acc_depr\": 0, \"rent\": 1200}, \"rejected\": []}, \"passed\": true}, {\"check\": \"control 5\", \"actual\": {\"balances\": {\"cash\": 0, \"equipment\": -5000, \"payable\": 0, \"drawings\": 0, \"loan\": 0, \"acc_depr\": 0, \"rent\": 5000}, \"rejected\": [\"J4\", \"J4\", \"J3\", \"J1\"]}, \"expected\": {\"balances\": {\"cash\": 0, \"equipment\": -5000, \"payable\": 0, \"drawings\": 0, \"loan\": 0, \"acc_depr\": 0, \"rent\": 5000}, \"rejected\": [\"J4\", \"J4\", \"J3\", \"J1\"]}, \"passed\": true}, {\"check\": \"control 6\", \"actual\": {\"balances\": {\"rent\": 0, \"sales\": 0, \"capital\": 0, \"payable\": 0, \"drawings\": -1200, \"equipment\": 1200, \"wages\": -40, \"receivable\": 40}, \"rejected\": [\"J3\", \"J5\", \"J2\", \"J5\", \"J4\"]}, \"expected\": {\"balances\": {\"rent\": 0, \"sales\": 0, \"capital\": 0, \"payable\": 0, \"drawings\": -1200, \"equipment\": 1200, \"wages\": -40, \"receivable\": 40}, \"rejected\": [\"J3\", \"J5\", \"J2\", \"J5\", \"J4\"]}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":52.199,"exit_code":0,"observations":[{"actual":{"balances":{"acc_depr":-5000,"capital":0,"drawings":0,"equipment":-10040,"payable":-5040},"rejected":["J1","J3"]},"check":"regression: posting sign by side and normal balance","expected":{"balances":{"acc_depr":-5000,"capital":0,"drawings":0,"equipment":-10040,"payable":-5040},"rejected":["J1","J3"]},"passed":true},{"actual":{"balances":{"capital":0,"cash":0,"drawings":0,"equipment":1350,"receivable":0,"rent":140,"sales":0,"wages":-1490},"rejected":["J2","J5"]},"check":"control 1","expected":{"balances":{"capital":0,"cash":0,"drawings":0,"equipment":1350,"receivable":0,"rent":140,"sales":0,"wages":-1490},"rejected":["J2","J5"]},"passed":true},{"actual":{"balances":{"cash":5000,"drawings":40,"receivable":-5040,"rent":0,"wages":0},"rejected":["J3"]},"check":"control 2","expected":{"balances":{"cash":5000,"drawings":40,"receivable":-5040,"rent":0,"wages":0},"rejected":["J3"]},"passed":true},{"actual":{"balances":{"cash":0,"drawings":-250,"equipment":-999,"payable":0,"receivable":1099,"rent":-100,"wages":250},"rejected":["J1","J3","J2"]},"check":"control 3","expected":{"balances":{"cash":0,"drawings":-250,"equipment":-999,"payable":0,"receivable":1099,"rent":-100,"wages":250},"rejected":["J1","J3","J2"]},"passed":true},{"actual":{"balances":{"acc_depr":0,"cash":-1200,"equipment":250,"receivable":-5250,"rent":1200,"wages":5000},"rejected":[]},"check":"control 4","expected":{"balances":{"acc_depr":0,"cash":-1200,"equipment":250,"receivable":-5250,"rent":1200,"wages":5000},"rejected":[]},"passed":true},{"actual":{"balances":{"acc_depr":0,"cash":0,"drawings":0,"equipment":-5000,"loan":0,"payable":0,"rent":5000},"rejected":["J4","J4","J3","J1"]},"check":"control 5","expected":{"balances":{"acc_depr":0,"cash":0,"drawings":0,"equipment":-5000,"loan":0,"payable":0,"rent":5000},"rejected":["J4","J4","J3","J1"]},"passed":true},{"actual":{"balances":{"capital":0,"drawings":-1200,"equipment":1200,"payable":0,"receivable":40,"rent":0,"sales":0,"wages":-40},"rejected":["J3","J5","J2","J5","J4"]},"check":"control 6","expected":{"balances":{"capital":0,"drawings":-1200,"equipment":1200,"payable":0,"receivable":40,"rent":0,"sales":0,"wages":-40},"rejected":["J3","J5","J2","J5","J4"]},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: posting sign by side and normal balance\", \"actual\": {\"balances\": {\"acc_depr\": -5000, \"drawings\": 0, \"payable\": -5040, \"equipment\": -10040, \"capital\": 0}, \"rejected\": [\"J1\", \"J3\"]}, \"expected\": {\"balances\": {\"acc_depr\": -5000, \"drawings\": 0, \"payable\": -5040, \"equipment\": -10040, \"capital\": 0}, \"rejected\": [\"J1\", \"J3\"]}, \"passed\": true}, {\"check\": \"control 1\", \"actual\": {\"balances\": {\"capital\": 0, \"rent\": 140, \"cash\": 0, \"receivable\": 0, \"drawings\": 0, \"equipment\": 1350, \"wages\": -1490, \"sales\": 0}, \"rejected\": [\"J2\", \"J5\"]}, \"expected\": {\"balances\": {\"capital\": 0, \"rent\": 140, \"cash\": 0, \"receivable\": 0, \"drawings\": 0, \"equipment\": 1350, \"wages\": -1490, \"sales\": 0}, \"rejected\": [\"J2\", \"J5\"]}, \"passed\": true}, {\"check\": \"control 2\", \"actual\": {\"balances\": {\"drawings\": 40, \"wages\": 0, \"receivable\": -5040, \"rent\": 0, \"cash\": 5000}, \"rejected\": [\"J3\"]}, \"expected\": {\"balances\": {\"drawings\": 40, \"wages\": 0, \"receivable\": -5040, \"rent\": 0, \"cash\": 5000}, \"rejected\": [\"J3\"]}, \"passed\": true}, {\"check\": \"control 3\", \"actual\": {\"balances\": {\"receivable\": 1099, \"equipment\": -999, \"drawings\": -250, \"payable\": 0, \"wages\": 250, \"cash\": 0, \"rent\": -100}, \"rejected\": [\"J1\", \"J3\", \"J2\"]}, \"expected\": {\"balances\": {\"receivable\": 1099, \"equipment\": -999, \"drawings\": -250, \"payable\": 0, \"wages\": 250, \"cash\": 0, \"rent\": -100}, \"rejected\": [\"J1\", \"J3\", \"J2\"]}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"balances\": {\"cash\": -1200, \"equipment\": 250, \"receivable\": -5250, \"wages\": 5000, \"acc_depr\": 0, \"rent\": 1200}, \"rejected\": []}, \"expected\": {\"balances\": {\"cash\": -1200, \"equipment\": 250, \"receivable\": -5250, \"wages\": 5000, \"acc_depr\": 0, \"rent\": 1200}, \"rejected\": []}, \"passed\": true}, {\"check\": \"control 5\", \"actual\": {\"balances\": {\"cash\": 0, \"equipment\": -5000, \"payable\": 0, \"drawings\": 0, \"loan\": 0, \"acc_depr\": 0, \"rent\": 5000}, \"rejected\": [\"J4\", \"J4\", \"J3\", \"J1\"]}, \"expected\": {\"balances\": {\"cash\": 0, \"equipment\": -5000, \"payable\": 0, \"drawings\": 0, \"loan\": 0, \"acc_depr\": 0, \"rent\": 5000}, \"rejected\": [\"J4\", \"J4\", \"J3\", \"J1\"]}, \"passed\": true}, {\"check\": \"control 6\", \"actual\": {\"balances\": {\"rent\": 0, \"sales\": 0, \"capital\": 0, \"payable\": 0, \"drawings\": -1200, \"equipment\": 1200, \"wages\": -40, \"receivable\": 40}, \"rejected\": [\"J3\", \"J5\", \"J2\", \"J5\", \"J4\"]}, \"expected\": {\"balances\": {\"rent\": 0, \"sales\": 0, \"capital\": 0, \"payable\": 0, \"drawings\": -1200, \"equipment\": 1200, \"wages\": -40, \"receivable\": 40}, \"rejected\": [\"J3\", \"J5\", \"J2\", \"J5\", \"J4\"]}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}