{"abstract":"Informational memo lines generate book adjustments.","category":"Double-entry ledger accounting","checks":7,"contract":"x = {'bank': statement balance, 'book': ledger cash balance, 'items': [[kind, ...]]}. Bank side: deposit_in_transit adds, outstanding_check subtracts, bank_error adds its signed correction. Book side (each produces an adjusting entry [kind, signed amount] in input order): bank_fee and nsf subtract, interest adds, collection [kind, face, fee] adds face - fee, check_error [kind, recorded, actual] adds recorded - actual. Other kinds are ignored. Return {'adjusted_bank', 'adjusted_book', 'reconciled', 'entries'}.","evaluation_group":"w2-double-entry-ledger-accounting-bank-reconciliation","failed_approach":"Posting a zero adjustment still emits spurious journal entries for memos.","family":"w2-double-entry-ledger-accounting-bank-reconciliation-unknown-item-handling","id":"FA-57966","implementations":{"attempt":{"sha256":"cdf587d76bb5ca91055a96d98d6b24f51393e69281dd2c4fc095d62d316e4ea2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    bank = x['bank']\n    book = x['book']\n    entries = []\n    for item in x['items']:\n        kind = item[0]\n        if kind == 'deposit_in_transit':\n            bank += item[1]\n        elif kind == 'outstanding_check':\n            bank -= item[1]\n        elif kind == 'bank_error':\n            bank += item[1]\n        else:\n            if kind == 'bank_fee' or kind == 'nsf':\n                adj = -item[1]\n            elif kind == 'interest':\n                adj = item[1]\n            elif kind == 'collection':\n                adj = item[1] - item[2]\n            elif kind == 'check_error':\n                adj = item[1] - item[2]\n            else:\n                adj = 0\n            book += adj\n            entries.append([kind, adj])\n    return {'adjusted_bank': bank, 'adjusted_book': book, 'reconciled': bank == book, 'entries': entries}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: unknown item handling', {'bank': 10000, 'book': 10000, 'items': [['bank_fee', 90], ['interest', 15], ['bank_error', 1200], ['nsf', 1200], ['memo', 250], ['memo', 1200]]}, {'adjusted_bank': 11200, 'adjusted_book': 8725, 'reconciled': False, 'entries': [['bank_fee', -90], ['interest', 15], ['nsf', -1200]]}], ['control 1', {'bank': 8000, 'book': 9000, 'items': [['interest', 15], ['bank_fee', 400], ['check_error', 2100, 450]]}, {'adjusted_bank': 8000, 'adjusted_book': 10265, 'reconciled': False, 'entries': [['interest', 15], ['bank_fee', -400], ['check_error', 1650]]}], ['control 2', {'bank': 10000, 'book': 10000, 'items': [['deposit_in_transit', 1200], ['deposit_in_transit', 400], ['bank_fee', 90], ['bank_fee', 1200], ['deposit_in_transit', 400]]}, {'adjusted_bank': 12000, 'adjusted_book': 8710, 'reconciled': False, 'entries': [['bank_fee', -90], ['bank_fee', -1200]]}], ['control 3', {'bank': 8000, 'book': 9000, 'items': [['interest', 1200], ['bank_error', 400], ['interest', 400], ['bank_error', 250], ['interest', 400]]}, {'adjusted_bank': 8650, 'adjusted_book': 11000, 'reconciled': False, 'entries': [['interest', 1200], ['interest', 400], ['interest', 400]]}], ['control 4', {'bank': 10000, 'book': 9000, 'items': [['deposit_in_transit', 1200], ['collection', 2500, 15], ['outstanding_check', 15], ['check_error', 540, 450], ['check_error', 540, 540], ['check_error', 1200, 1020], ['nsf', 90]]}, {'adjusted_bank': 11185, 'adjusted_book': 11665, 'reconciled': False, 'entries': [['collection', 2485], ['check_error', 90], ['check_error', 0], ['check_error', 180], ['nsf', -90]]}], ['control 5', {'bank': 8000, 'book': 10000, 'items': [['bank_fee', 250], ['deposit_in_transit', 250], ['check_error', 2100, 450], ['deposit_in_transit', 90], ['check_error', 540, 2010], ['deposit_in_transit', 90], ['collection', 2500, 15]]}, {'adjusted_bank': 8430, 'adjusted_book': 12415, 'reconciled': False, 'entries': [['bank_fee', -250], ['check_error', 1650], ['check_error', -1470], ['collection', 2485]]}], ['control 6', {'bank': 12500, 'book': 9000, 'items': [['deposit_in_transit', 250], ['collection', 12000, 0], ['check_error', 1200, 1020]]}, {'adjusted_bank': 12750, 'adjusted_book': 21180, 'reconciled': False, 'entries': [['collection', 12000], ['check_error', 180]]}]], [['regression: unknown item handling', {'bank': 8000, 'book': 9000, 'items': [['deposit_in_transit', 400], ['outstanding_check', 400], ['memo', 15], ['outstanding_check', 250], ['memo', 1200], ['deposit_in_transit', 250]]}, {'adjusted_bank': 8000, 'adjusted_book': 9000, 'reconciled': False, 'entries': []}], ['control 1', {'bank': 12500, 'book': 9000, 'items': [['nsf', 400], ['bank_error', -90], ['bank_fee', 90]]}, {'adjusted_bank': 12410, 'adjusted_book': 8510, 'reconciled': False, 'entries': [['nsf', -400], ['bank_fee', -90]]}], ['control 2', {'bank': 10000, 'book': 11800, 'items': [['check_error', 2100, 540], ['nsf', 15], ['interest', 400], ['outstanding_check', 400], ['bank_error', -400], ['deposit_in_transit', 15]]}, {'adjusted_bank': 9215, 'adjusted_book': 13745, 'reconciled': False, 'entries': [['check_error', 1560], ['nsf', -15], ['interest', 400]]}], ['control 3', {'bank': 8000, 'book': 11800, 'items': [['bank_fee', 1200], ['interest', 250], ['bank_error', -1200]]}, {'adjusted_bank': 6800, 'adjusted_book': 10850, 'reconciled': False, 'entries': [['bank_fee', -1200], ['interest', 250]]}], ['control 4', {'bank': 12500, 'book': 9000, 'items': [['bank_error', -250], ['interest', 250], ['check_error', 1200, 1209], ['bank_fee', 90], ['bank_error', -400]]}, {'adjusted_bank': 11850, 'adjusted_book': 9151, 'reconciled': False, 'entries': [['interest', 250], ['check_error', -9], ['bank_fee', -90]]}], ['control 5', {'bank': 8000, 'book': 9000, 'items': [['collection', 4000, 25], ['nsf', 400], ['bank_fee', 15], ['deposit_in_transit', 400]]}, {'adjusted_bank': 8400, 'adjusted_book': 12560, 'reconciled': False, 'entries': [['collection', 3975], ['nsf', -400], ['bank_fee', -15]]}], ['control 6', {'bank': 12500, 'book': 9000, 'items': [['bank_error', 90], ['deposit_in_transit', 400], ['bank_error', -400], ['outstanding_check', 400]]}, {'adjusted_bank': 12190, 'adjusted_book': 9000, 'reconciled': False, 'entries': []}]], [['regression: unknown item handling', {'bank': 10000, 'book': 9000, 'items': [['collection', 150, 15], ['nsf', 15], ['deposit_in_transit', 90], ['memo', 1200], ['collection', 900, 25], ['interest', 90], ['deposit_in_transit', 400]]}, {'adjusted_bank': 10490, 'adjusted_book': 10085, 'reconciled': False, 'entries': [['collection', 135], ['nsf', -15], ['collection', 875], ['interest', 90]]}], ['control 1', {'bank': 10000, 'book': 11800, 'items': [['collection', 4000, 15], ['outstanding_check', 1200], ['bank_error', 400], ['bank_fee', 1200], ['bank_error', 400]]}, {'adjusted_bank': 9600, 'adjusted_book': 14585, 'reconciled': False, 'entries': [['collection', 3985], ['bank_fee', -1200]]}], ['control 2', {'bank': 10000, 'book': 11800, 'items': [['deposit_in_transit', 1200], ['check_error', 450, 459], ['check_error', 540, 450], ['bank_error', 15]]}, {'adjusted_bank': 11215, 'adjusted_book': 11881, 'reconciled': False, 'entries': [['check_error', -9], ['check_error', 90]]}], ['control 3', {'bank': 8000, 'book': 11800, 'items': [['check_error', 450, 450], ['outstanding_check', 1200], ['bank_error', -400], ['check_error', 2100, 2010]]}, {'adjusted_bank': 6400, 'adjusted_book': 11890, 'reconciled': False, 'entries': [['check_error', 0], ['check_error', 90]]}], ['control 4', {'bank': 10000, 'book': 9000, 'items': [['deposit_in_transit', 1200], ['interest', 250], ['nsf', 250], ['outstanding_check', 400], ['deposit_in_transit', 15], ['collection', 12000, 0]]}, {'adjusted_bank': 10815, 'adjusted_book': 21000, 'reconciled': False, 'entries': [['interest', 250], ['nsf', -250], ['collection', 12000]]}], ['control 5', {'bank': 12500, 'book': 11800, 'items': [['bank_error', -90], ['deposit_in_transit', 400], ['collection', 12000, 15], ['deposit_in_transit', 90], ['bank_error', 250], ['check_error', 540, 540]]}, {'adjusted_bank': 13150, 'adjusted_book': 23785, 'reconciled': False, 'entries': [['collection', 11985], ['check_error', 0]]}], ['control 6', {'bank': 12500, 'book': 10000, 'items': [['deposit_in_transit', 250], ['interest', 15], ['bank_error', 90], ['interest', 90], ['collection', 150, 0], ['outstanding_check', 400]]}, {'adjusted_bank': 12440, 'adjusted_book': 10255, 'reconciled': False, 'entries': [['interest', 15], ['interest', 90], ['collection', 150]]}]], [['regression: unknown item handling', {'bank': 8000, 'book': 10000, 'items': [['deposit_in_transit', 400], ['deposit_in_transit', 1200], ['memo', 90], ['interest', 250], ['check_error', 540, 540], ['check_error', 2100, 2109], ['interest', 250]]}, {'adjusted_bank': 9600, 'adjusted_book': 10491, 'reconciled': False, 'entries': [['interest', 250], ['check_error', 0], ['check_error', -9], ['interest', 250]]}], ['control 1', {'bank': 12500, 'book': 11800, 'items': [['collection', 4000, 0], ['bank_error', 400], ['check_error', 450, 459]]}, {'adjusted_bank': 12900, 'adjusted_book': 15791, 'reconciled': False, 'entries': [['collection', 4000], ['check_error', -9]]}], ['control 2', {'bank': 12500, 'book': 9000, 'items': [['deposit_in_transit', 250], ['bank_error', -90], ['bank_error', 90]]}, {'adjusted_bank': 12750, 'adjusted_book': 9000, 'reconciled': False, 'entries': []}], ['control 3', {'bank': 12500, 'book': 10000, 'items': [['deposit_in_transit', 15], ['bank_error', -15], ['nsf', 90], ['collection', 2500, 25], ['outstanding_check', 90], ['collection', 900, 0]]}, {'adjusted_bank': 12410, 'adjusted_book': 13285, 'reconciled': False, 'entries': [['nsf', -90], ['collection', 2475], ['collection', 900]]}], ['control 4', {'bank': 8000, 'book': 10000, 'items': [['deposit_in_transit', 90], ['bank_error', 15], ['collection', 4000, 0], ['interest', 250]]}, {'adjusted_bank': 8105, 'adjusted_book': 14250, 'reconciled': False, 'entries': [['collection', 4000], ['interest', 250]]}], ['control 5', {'bank': 8000, 'book': 9000, 'items': [['deposit_in_transit', 250], ['bank_error', -90], ['deposit_in_transit', 400], ['collection', 12000, 0]]}, {'adjusted_bank': 8560, 'adjusted_book': 21000, 'reconciled': False, 'entries': [['collection', 12000]]}], ['control 6', {'bank': 12500, 'book': 11800, 'items': [['interest', 1200], ['check_error', 450, 1020], ['bank_fee', 15], ['nsf', 250], ['collection', 150, 0]]}, {'adjusted_bank': 12500, 'adjusted_book': 12315, 'reconciled': False, 'entries': [['interest', 1200], ['check_error', -570], ['bank_fee', -15], ['nsf', -250], ['collection', 150]]}]], [['regression: unknown item handling', {'bank': 10000, 'book': 10000, 'items': [['outstanding_check', 90], ['memo', 250], ['bank_fee', 15], ['interest', 1200], ['memo', 250], ['deposit_in_transit', 15]]}, {'adjusted_bank': 9925, 'adjusted_book': 11185, 'reconciled': False, 'entries': [['bank_fee', -15], ['interest', 1200]]}], ['control 1', {'bank': 12500, 'book': 10000, 'items': [['outstanding_check', 250], ['collection', 4000, 25], ['check_error', 2100, 450], ['outstanding_check', 250], ['bank_fee', 90], ['interest', 1200], ['outstanding_check', 15]]}, {'adjusted_bank': 11985, 'adjusted_book': 16735, 'reconciled': False, 'entries': [['collection', 3975], ['check_error', 1650], ['bank_fee', -90], ['interest', 1200]]}], ['control 2', {'bank': 12500, 'book': 11800, 'items': [['nsf', 400], ['bank_fee', 250], ['bank_error', 250]]}, {'adjusted_bank': 12750, 'adjusted_book': 11150, 'reconciled': False, 'entries': [['nsf', -400], ['bank_fee', -250]]}], ['control 3', {'bank': 8000, 'book': 10000, 'items': [['nsf', 1200], ['collection', 4000, 15], ['interest', 400]]}, {'adjusted_bank': 8000, 'adjusted_book': 13185, 'reconciled': False, 'entries': [['nsf', -1200], ['collection', 3985], ['interest', 400]]}], ['control 4', {'bank': 8000, 'book': 9000, 'items': [['check_error', 450, 459], ['outstanding_check', 400], ['interest', 1200]]}, {'adjusted_bank': 7600, 'adjusted_book': 10191, 'reconciled': False, 'entries': [['check_error', -9], ['interest', 1200]]}], ['control 5', {'bank': 10000, 'book': 11800, 'items': [['bank_error', -250], ['deposit_in_transit', 250], ['bank_fee', 250]]}, {'adjusted_bank': 10000, 'adjusted_book': 11550, 'reconciled': False, 'entries': [['bank_fee', -250]]}], ['control 6', {'bank': 12500, 'book': 10000, 'items': [['bank_error', -15], ['collection', 150, 25], ['nsf', 400], ['nsf', 15], ['collection', 2500, 0], ['interest', 1200]]}, {'adjusted_bank': 12485, 'adjusted_book': 13410, 'reconciled': False, 'entries': [['collection', 125], ['nsf', -400], ['nsf', -15], ['collection', 2500], ['interest', 1200]]}]]]\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":"a2f853e0663ed1ef48e54ea32e59c182e8d7d6f6b82f41724a393dcdc0c00386","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    bank = x['bank']\n    book = x['book']\n    entries = []\n    for item in x['items']:\n        kind = item[0]\n        if kind == 'deposit_in_transit':\n            bank += item[1]\n        elif kind == 'outstanding_check':\n            bank -= item[1]\n        elif kind == 'bank_error':\n            bank += item[1]\n        else:\n            if kind == 'bank_fee' or kind == 'nsf':\n                adj = -item[1]\n            elif kind == 'interest':\n                adj = item[1]\n            elif kind == 'collection':\n                adj = item[1] - item[2]\n            elif kind == 'check_error':\n                adj = item[1] - item[2]\n            else:\n                adj = item[1]\n            book += adj\n            entries.append([kind, adj])\n    return {'adjusted_bank': bank, 'adjusted_book': book, 'reconciled': bank == book, 'entries': entries}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: unknown item handling', {'bank': 10000, 'book': 10000, 'items': [['bank_fee', 90], ['interest', 15], ['bank_error', 1200], ['nsf', 1200], ['memo', 250], ['memo', 1200]]}, {'adjusted_bank': 11200, 'adjusted_book': 8725, 'reconciled': False, 'entries': [['bank_fee', -90], ['interest', 15], ['nsf', -1200]]}], ['control 1', {'bank': 8000, 'book': 9000, 'items': [['interest', 15], ['bank_fee', 400], ['check_error', 2100, 450]]}, {'adjusted_bank': 8000, 'adjusted_book': 10265, 'reconciled': False, 'entries': [['interest', 15], ['bank_fee', -400], ['check_error', 1650]]}], ['control 2', {'bank': 10000, 'book': 10000, 'items': [['deposit_in_transit', 1200], ['deposit_in_transit', 400], ['bank_fee', 90], ['bank_fee', 1200], ['deposit_in_transit', 400]]}, {'adjusted_bank': 12000, 'adjusted_book': 8710, 'reconciled': False, 'entries': [['bank_fee', -90], ['bank_fee', -1200]]}], ['control 3', {'bank': 8000, 'book': 9000, 'items': [['interest', 1200], ['bank_error', 400], ['interest', 400], ['bank_error', 250], ['interest', 400]]}, {'adjusted_bank': 8650, 'adjusted_book': 11000, 'reconciled': False, 'entries': [['interest', 1200], ['interest', 400], ['interest', 400]]}], ['control 4', {'bank': 10000, 'book': 9000, 'items': [['deposit_in_transit', 1200], ['collection', 2500, 15], ['outstanding_check', 15], ['check_error', 540, 450], ['check_error', 540, 540], ['check_error', 1200, 1020], ['nsf', 90]]}, {'adjusted_bank': 11185, 'adjusted_book': 11665, 'reconciled': False, 'entries': [['collection', 2485], ['check_error', 90], ['check_error', 0], ['check_error', 180], ['nsf', -90]]}], ['control 5', {'bank': 8000, 'book': 10000, 'items': [['bank_fee', 250], ['deposit_in_transit', 250], ['check_error', 2100, 450], ['deposit_in_transit', 90], ['check_error', 540, 2010], ['deposit_in_transit', 90], ['collection', 2500, 15]]}, {'adjusted_bank': 8430, 'adjusted_book': 12415, 'reconciled': False, 'entries': [['bank_fee', -250], ['check_error', 1650], ['check_error', -1470], ['collection', 2485]]}], ['control 6', {'bank': 12500, 'book': 9000, 'items': [['deposit_in_transit', 250], ['collection', 12000, 0], ['check_error', 1200, 1020]]}, {'adjusted_bank': 12750, 'adjusted_book': 21180, 'reconciled': False, 'entries': [['collection', 12000], ['check_error', 180]]}]], [['regression: unknown item handling', {'bank': 8000, 'book': 9000, 'items': [['deposit_in_transit', 400], ['outstanding_check', 400], ['memo', 15], ['outstanding_check', 250], ['memo', 1200], ['deposit_in_transit', 250]]}, {'adjusted_bank': 8000, 'adjusted_book': 9000, 'reconciled': False, 'entries': []}], ['control 1', {'bank': 12500, 'book': 9000, 'items': [['nsf', 400], ['bank_error', -90], ['bank_fee', 90]]}, {'adjusted_bank': 12410, 'adjusted_book': 8510, 'reconciled': False, 'entries': [['nsf', -400], ['bank_fee', -90]]}], ['control 2', {'bank': 10000, 'book': 11800, 'items': [['check_error', 2100, 540], ['nsf', 15], ['interest', 400], ['outstanding_check', 400], ['bank_error', -400], ['deposit_in_transit', 15]]}, {'adjusted_bank': 9215, 'adjusted_book': 13745, 'reconciled': False, 'entries': [['check_error', 1560], ['nsf', -15], ['interest', 400]]}], ['control 3', {'bank': 8000, 'book': 11800, 'items': [['bank_fee', 1200], ['interest', 250], ['bank_error', -1200]]}, {'adjusted_bank': 6800, 'adjusted_book': 10850, 'reconciled': False, 'entries': [['bank_fee', -1200], ['interest', 250]]}], ['control 4', {'bank': 12500, 'book': 9000, 'items': [['bank_error', -250], ['interest', 250], ['check_error', 1200, 1209], ['bank_fee', 90], ['bank_error', -400]]}, {'adjusted_bank': 11850, 'adjusted_book': 9151, 'reconciled': False, 'entries': [['interest', 250], ['check_error', -9], ['bank_fee', -90]]}], ['control 5', {'bank': 8000, 'book': 9000, 'items': [['collection', 4000, 25], ['nsf', 400], ['bank_fee', 15], ['deposit_in_transit', 400]]}, {'adjusted_bank': 8400, 'adjusted_book': 12560, 'reconciled': False, 'entries': [['collection', 3975], ['nsf', -400], ['bank_fee', -15]]}], ['control 6', {'bank': 12500, 'book': 9000, 'items': [['bank_error', 90], ['deposit_in_transit', 400], ['bank_error', -400], ['outstanding_check', 400]]}, {'adjusted_bank': 12190, 'adjusted_book': 9000, 'reconciled': False, 'entries': []}]], [['regression: unknown item handling', {'bank': 10000, 'book': 9000, 'items': [['collection', 150, 15], ['nsf', 15], ['deposit_in_transit', 90], ['memo', 1200], ['collection', 900, 25], ['interest', 90], ['deposit_in_transit', 400]]}, {'adjusted_bank': 10490, 'adjusted_book': 10085, 'reconciled': False, 'entries': [['collection', 135], ['nsf', -15], ['collection', 875], ['interest', 90]]}], ['control 1', {'bank': 10000, 'book': 11800, 'items': [['collection', 4000, 15], ['outstanding_check', 1200], ['bank_error', 400], ['bank_fee', 1200], ['bank_error', 400]]}, {'adjusted_bank': 9600, 'adjusted_book': 14585, 'reconciled': False, 'entries': [['collection', 3985], ['bank_fee', -1200]]}], ['control 2', {'bank': 10000, 'book': 11800, 'items': [['deposit_in_transit', 1200], ['check_error', 450, 459], ['check_error', 540, 450], ['bank_error', 15]]}, {'adjusted_bank': 11215, 'adjusted_book': 11881, 'reconciled': False, 'entries': [['check_error', -9], ['check_error', 90]]}], ['control 3', {'bank': 8000, 'book': 11800, 'items': [['check_error', 450, 450], ['outstanding_check', 1200], ['bank_error', -400], ['check_error', 2100, 2010]]}, {'adjusted_bank': 6400, 'adjusted_book': 11890, 'reconciled': False, 'entries': [['check_error', 0], ['check_error', 90]]}], ['control 4', {'bank': 10000, 'book': 9000, 'items': [['deposit_in_transit', 1200], ['interest', 250], ['nsf', 250], ['outstanding_check', 400], ['deposit_in_transit', 15], ['collection', 12000, 0]]}, {'adjusted_bank': 10815, 'adjusted_book': 21000, 'reconciled': False, 'entries': [['interest', 250], ['nsf', -250], ['collection', 12000]]}], ['control 5', {'bank': 12500, 'book': 11800, 'items': [['bank_error', -90], ['deposit_in_transit', 400], ['collection', 12000, 15], ['deposit_in_transit', 90], ['bank_error', 250], ['check_error', 540, 540]]}, {'adjusted_bank': 13150, 'adjusted_book': 23785, 'reconciled': False, 'entries': [['collection', 11985], ['check_error', 0]]}], ['control 6', {'bank': 12500, 'book': 10000, 'items': [['deposit_in_transit', 250], ['interest', 15], ['bank_error', 90], ['interest', 90], ['collection', 150, 0], ['outstanding_check', 400]]}, {'adjusted_bank': 12440, 'adjusted_book': 10255, 'reconciled': False, 'entries': [['interest', 15], ['interest', 90], ['collection', 150]]}]], [['regression: unknown item handling', {'bank': 8000, 'book': 10000, 'items': [['deposit_in_transit', 400], ['deposit_in_transit', 1200], ['memo', 90], ['interest', 250], ['check_error', 540, 540], ['check_error', 2100, 2109], ['interest', 250]]}, {'adjusted_bank': 9600, 'adjusted_book': 10491, 'reconciled': False, 'entries': [['interest', 250], ['check_error', 0], ['check_error', -9], ['interest', 250]]}], ['control 1', {'bank': 12500, 'book': 11800, 'items': [['collection', 4000, 0], ['bank_error', 400], ['check_error', 450, 459]]}, {'adjusted_bank': 12900, 'adjusted_book': 15791, 'reconciled': False, 'entries': [['collection', 4000], ['check_error', -9]]}], ['control 2', {'bank': 12500, 'book': 9000, 'items': [['deposit_in_transit', 250], ['bank_error', -90], ['bank_error', 90]]}, {'adjusted_bank': 12750, 'adjusted_book': 9000, 'reconciled': False, 'entries': []}], ['control 3', {'bank': 12500, 'book': 10000, 'items': [['deposit_in_transit', 15], ['bank_error', -15], ['nsf', 90], ['collection', 2500, 25], ['outstanding_check', 90], ['collection', 900, 0]]}, {'adjusted_bank': 12410, 'adjusted_book': 13285, 'reconciled': False, 'entries': [['nsf', -90], ['collection', 2475], ['collection', 900]]}], ['control 4', {'bank': 8000, 'book': 10000, 'items': [['deposit_in_transit', 90], ['bank_error', 15], ['collection', 4000, 0], ['interest', 250]]}, {'adjusted_bank': 8105, 'adjusted_book': 14250, 'reconciled': False, 'entries': [['collection', 4000], ['interest', 250]]}], ['control 5', {'bank': 8000, 'book': 9000, 'items': [['deposit_in_transit', 250], ['bank_error', -90], ['deposit_in_transit', 400], ['collection', 12000, 0]]}, {'adjusted_bank': 8560, 'adjusted_book': 21000, 'reconciled': False, 'entries': [['collection', 12000]]}], ['control 6', {'bank': 12500, 'book': 11800, 'items': [['interest', 1200], ['check_error', 450, 1020], ['bank_fee', 15], ['nsf', 250], ['collection', 150, 0]]}, {'adjusted_bank': 12500, 'adjusted_book': 12315, 'reconciled': False, 'entries': [['interest', 1200], ['check_error', -570], ['bank_fee', -15], ['nsf', -250], ['collection', 150]]}]], [['regression: unknown item handling', {'bank': 10000, 'book': 10000, 'items': [['outstanding_check', 90], ['memo', 250], ['bank_fee', 15], ['interest', 1200], ['memo', 250], ['deposit_in_transit', 15]]}, {'adjusted_bank': 9925, 'adjusted_book': 11185, 'reconciled': False, 'entries': [['bank_fee', -15], ['interest', 1200]]}], ['control 1', {'bank': 12500, 'book': 10000, 'items': [['outstanding_check', 250], ['collection', 4000, 25], ['check_error', 2100, 450], ['outstanding_check', 250], ['bank_fee', 90], ['interest', 1200], ['outstanding_check', 15]]}, {'adjusted_bank': 11985, 'adjusted_book': 16735, 'reconciled': False, 'entries': [['collection', 3975], ['check_error', 1650], ['bank_fee', -90], ['interest', 1200]]}], ['control 2', {'bank': 12500, 'book': 11800, 'items': [['nsf', 400], ['bank_fee', 250], ['bank_error', 250]]}, {'adjusted_bank': 12750, 'adjusted_book': 11150, 'reconciled': False, 'entries': [['nsf', -400], ['bank_fee', -250]]}], ['control 3', {'bank': 8000, 'book': 10000, 'items': [['nsf', 1200], ['collection', 4000, 15], ['interest', 400]]}, {'adjusted_bank': 8000, 'adjusted_book': 13185, 'reconciled': False, 'entries': [['nsf', -1200], ['collection', 3985], ['interest', 400]]}], ['control 4', {'bank': 8000, 'book': 9000, 'items': [['check_error', 450, 459], ['outstanding_check', 400], ['interest', 1200]]}, {'adjusted_bank': 7600, 'adjusted_book': 10191, 'reconciled': False, 'entries': [['check_error', -9], ['interest', 1200]]}], ['control 5', {'bank': 10000, 'book': 11800, 'items': [['bank_error', -250], ['deposit_in_transit', 250], ['bank_fee', 250]]}, {'adjusted_bank': 10000, 'adjusted_book': 11550, 'reconciled': False, 'entries': [['bank_fee', -250]]}], ['control 6', {'bank': 12500, 'book': 10000, 'items': [['bank_error', -15], ['collection', 150, 25], ['nsf', 400], ['nsf', 15], ['collection', 2500, 0], ['interest', 1200]]}, {'adjusted_bank': 12485, 'adjusted_book': 13410, 'reconciled': False, 'entries': [['collection', 125], ['nsf', -400], ['nsf', -15], ['collection', 2500], ['interest', 1200]]}]]]\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":"cfbd12b274d68c5822fe7f7bd5a2ab5cebcd45c56f4f9cc8fa44d47dcc083125","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    bank = x['bank']\n    book = x['book']\n    entries = []\n    for item in x['items']:\n        kind = item[0]\n        if kind == 'deposit_in_transit':\n            bank += item[1]\n        elif kind == 'outstanding_check':\n            bank -= item[1]\n        elif kind == 'bank_error':\n            bank += item[1]\n        else:\n            if kind == 'bank_fee' or kind == 'nsf':\n                adj = -item[1]\n            elif kind == 'interest':\n                adj = item[1]\n            elif kind == 'collection':\n                adj = item[1] - item[2]\n            elif kind == 'check_error':\n                adj = item[1] - item[2]\n            else:\n                continue\n            book += adj\n            entries.append([kind, adj])\n    return {'adjusted_bank': bank, 'adjusted_book': book, 'reconciled': bank == book, 'entries': entries}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: unknown item handling', {'bank': 10000, 'book': 10000, 'items': [['bank_fee', 90], ['interest', 15], ['bank_error', 1200], ['nsf', 1200], ['memo', 250], ['memo', 1200]]}, {'adjusted_bank': 11200, 'adjusted_book': 8725, 'reconciled': False, 'entries': [['bank_fee', -90], ['interest', 15], ['nsf', -1200]]}], ['control 1', {'bank': 8000, 'book': 9000, 'items': [['interest', 15], ['bank_fee', 400], ['check_error', 2100, 450]]}, {'adjusted_bank': 8000, 'adjusted_book': 10265, 'reconciled': False, 'entries': [['interest', 15], ['bank_fee', -400], ['check_error', 1650]]}], ['control 2', {'bank': 10000, 'book': 10000, 'items': [['deposit_in_transit', 1200], ['deposit_in_transit', 400], ['bank_fee', 90], ['bank_fee', 1200], ['deposit_in_transit', 400]]}, {'adjusted_bank': 12000, 'adjusted_book': 8710, 'reconciled': False, 'entries': [['bank_fee', -90], ['bank_fee', -1200]]}], ['control 3', {'bank': 8000, 'book': 9000, 'items': [['interest', 1200], ['bank_error', 400], ['interest', 400], ['bank_error', 250], ['interest', 400]]}, {'adjusted_bank': 8650, 'adjusted_book': 11000, 'reconciled': False, 'entries': [['interest', 1200], ['interest', 400], ['interest', 400]]}], ['control 4', {'bank': 10000, 'book': 9000, 'items': [['deposit_in_transit', 1200], ['collection', 2500, 15], ['outstanding_check', 15], ['check_error', 540, 450], ['check_error', 540, 540], ['check_error', 1200, 1020], ['nsf', 90]]}, {'adjusted_bank': 11185, 'adjusted_book': 11665, 'reconciled': False, 'entries': [['collection', 2485], ['check_error', 90], ['check_error', 0], ['check_error', 180], ['nsf', -90]]}], ['control 5', {'bank': 8000, 'book': 10000, 'items': [['bank_fee', 250], ['deposit_in_transit', 250], ['check_error', 2100, 450], ['deposit_in_transit', 90], ['check_error', 540, 2010], ['deposit_in_transit', 90], ['collection', 2500, 15]]}, {'adjusted_bank': 8430, 'adjusted_book': 12415, 'reconciled': False, 'entries': [['bank_fee', -250], ['check_error', 1650], ['check_error', -1470], ['collection', 2485]]}], ['control 6', {'bank': 12500, 'book': 9000, 'items': [['deposit_in_transit', 250], ['collection', 12000, 0], ['check_error', 1200, 1020]]}, {'adjusted_bank': 12750, 'adjusted_book': 21180, 'reconciled': False, 'entries': [['collection', 12000], ['check_error', 180]]}]], [['regression: unknown item handling', {'bank': 8000, 'book': 9000, 'items': [['deposit_in_transit', 400], ['outstanding_check', 400], ['memo', 15], ['outstanding_check', 250], ['memo', 1200], ['deposit_in_transit', 250]]}, {'adjusted_bank': 8000, 'adjusted_book': 9000, 'reconciled': False, 'entries': []}], ['control 1', {'bank': 12500, 'book': 9000, 'items': [['nsf', 400], ['bank_error', -90], ['bank_fee', 90]]}, {'adjusted_bank': 12410, 'adjusted_book': 8510, 'reconciled': False, 'entries': [['nsf', -400], ['bank_fee', -90]]}], ['control 2', {'bank': 10000, 'book': 11800, 'items': [['check_error', 2100, 540], ['nsf', 15], ['interest', 400], ['outstanding_check', 400], ['bank_error', -400], ['deposit_in_transit', 15]]}, {'adjusted_bank': 9215, 'adjusted_book': 13745, 'reconciled': False, 'entries': [['check_error', 1560], ['nsf', -15], ['interest', 400]]}], ['control 3', {'bank': 8000, 'book': 11800, 'items': [['bank_fee', 1200], ['interest', 250], ['bank_error', -1200]]}, {'adjusted_bank': 6800, 'adjusted_book': 10850, 'reconciled': False, 'entries': [['bank_fee', -1200], ['interest', 250]]}], ['control 4', {'bank': 12500, 'book': 9000, 'items': [['bank_error', -250], ['interest', 250], ['check_error', 1200, 1209], ['bank_fee', 90], ['bank_error', -400]]}, {'adjusted_bank': 11850, 'adjusted_book': 9151, 'reconciled': False, 'entries': [['interest', 250], ['check_error', -9], ['bank_fee', -90]]}], ['control 5', {'bank': 8000, 'book': 9000, 'items': [['collection', 4000, 25], ['nsf', 400], ['bank_fee', 15], ['deposit_in_transit', 400]]}, {'adjusted_bank': 8400, 'adjusted_book': 12560, 'reconciled': False, 'entries': [['collection', 3975], ['nsf', -400], ['bank_fee', -15]]}], ['control 6', {'bank': 12500, 'book': 9000, 'items': [['bank_error', 90], ['deposit_in_transit', 400], ['bank_error', -400], ['outstanding_check', 400]]}, {'adjusted_bank': 12190, 'adjusted_book': 9000, 'reconciled': False, 'entries': []}]], [['regression: unknown item handling', {'bank': 10000, 'book': 9000, 'items': [['collection', 150, 15], ['nsf', 15], ['deposit_in_transit', 90], ['memo', 1200], ['collection', 900, 25], ['interest', 90], ['deposit_in_transit', 400]]}, {'adjusted_bank': 10490, 'adjusted_book': 10085, 'reconciled': False, 'entries': [['collection', 135], ['nsf', -15], ['collection', 875], ['interest', 90]]}], ['control 1', {'bank': 10000, 'book': 11800, 'items': [['collection', 4000, 15], ['outstanding_check', 1200], ['bank_error', 400], ['bank_fee', 1200], ['bank_error', 400]]}, {'adjusted_bank': 9600, 'adjusted_book': 14585, 'reconciled': False, 'entries': [['collection', 3985], ['bank_fee', -1200]]}], ['control 2', {'bank': 10000, 'book': 11800, 'items': [['deposit_in_transit', 1200], ['check_error', 450, 459], ['check_error', 540, 450], ['bank_error', 15]]}, {'adjusted_bank': 11215, 'adjusted_book': 11881, 'reconciled': False, 'entries': [['check_error', -9], ['check_error', 90]]}], ['control 3', {'bank': 8000, 'book': 11800, 'items': [['check_error', 450, 450], ['outstanding_check', 1200], ['bank_error', -400], ['check_error', 2100, 2010]]}, {'adjusted_bank': 6400, 'adjusted_book': 11890, 'reconciled': False, 'entries': [['check_error', 0], ['check_error', 90]]}], ['control 4', {'bank': 10000, 'book': 9000, 'items': [['deposit_in_transit', 1200], ['interest', 250], ['nsf', 250], ['outstanding_check', 400], ['deposit_in_transit', 15], ['collection', 12000, 0]]}, {'adjusted_bank': 10815, 'adjusted_book': 21000, 'reconciled': False, 'entries': [['interest', 250], ['nsf', -250], ['collection', 12000]]}], ['control 5', {'bank': 12500, 'book': 11800, 'items': [['bank_error', -90], ['deposit_in_transit', 400], ['collection', 12000, 15], ['deposit_in_transit', 90], ['bank_error', 250], ['check_error', 540, 540]]}, {'adjusted_bank': 13150, 'adjusted_book': 23785, 'reconciled': False, 'entries': [['collection', 11985], ['check_error', 0]]}], ['control 6', {'bank': 12500, 'book': 10000, 'items': [['deposit_in_transit', 250], ['interest', 15], ['bank_error', 90], ['interest', 90], ['collection', 150, 0], ['outstanding_check', 400]]}, {'adjusted_bank': 12440, 'adjusted_book': 10255, 'reconciled': False, 'entries': [['interest', 15], ['interest', 90], ['collection', 150]]}]], [['regression: unknown item handling', {'bank': 8000, 'book': 10000, 'items': [['deposit_in_transit', 400], ['deposit_in_transit', 1200], ['memo', 90], ['interest', 250], ['check_error', 540, 540], ['check_error', 2100, 2109], ['interest', 250]]}, {'adjusted_bank': 9600, 'adjusted_book': 10491, 'reconciled': False, 'entries': [['interest', 250], ['check_error', 0], ['check_error', -9], ['interest', 250]]}], ['control 1', {'bank': 12500, 'book': 11800, 'items': [['collection', 4000, 0], ['bank_error', 400], ['check_error', 450, 459]]}, {'adjusted_bank': 12900, 'adjusted_book': 15791, 'reconciled': False, 'entries': [['collection', 4000], ['check_error', -9]]}], ['control 2', {'bank': 12500, 'book': 9000, 'items': [['deposit_in_transit', 250], ['bank_error', -90], ['bank_error', 90]]}, {'adjusted_bank': 12750, 'adjusted_book': 9000, 'reconciled': False, 'entries': []}], ['control 3', {'bank': 12500, 'book': 10000, 'items': [['deposit_in_transit', 15], ['bank_error', -15], ['nsf', 90], ['collection', 2500, 25], ['outstanding_check', 90], ['collection', 900, 0]]}, {'adjusted_bank': 12410, 'adjusted_book': 13285, 'reconciled': False, 'entries': [['nsf', -90], ['collection', 2475], ['collection', 900]]}], ['control 4', {'bank': 8000, 'book': 10000, 'items': [['deposit_in_transit', 90], ['bank_error', 15], ['collection', 4000, 0], ['interest', 250]]}, {'adjusted_bank': 8105, 'adjusted_book': 14250, 'reconciled': False, 'entries': [['collection', 4000], ['interest', 250]]}], ['control 5', {'bank': 8000, 'book': 9000, 'items': [['deposit_in_transit', 250], ['bank_error', -90], ['deposit_in_transit', 400], ['collection', 12000, 0]]}, {'adjusted_bank': 8560, 'adjusted_book': 21000, 'reconciled': False, 'entries': [['collection', 12000]]}], ['control 6', {'bank': 12500, 'book': 11800, 'items': [['interest', 1200], ['check_error', 450, 1020], ['bank_fee', 15], ['nsf', 250], ['collection', 150, 0]]}, {'adjusted_bank': 12500, 'adjusted_book': 12315, 'reconciled': False, 'entries': [['interest', 1200], ['check_error', -570], ['bank_fee', -15], ['nsf', -250], ['collection', 150]]}]], [['regression: unknown item handling', {'bank': 10000, 'book': 10000, 'items': [['outstanding_check', 90], ['memo', 250], ['bank_fee', 15], ['interest', 1200], ['memo', 250], ['deposit_in_transit', 15]]}, {'adjusted_bank': 9925, 'adjusted_book': 11185, 'reconciled': False, 'entries': [['bank_fee', -15], ['interest', 1200]]}], ['control 1', {'bank': 12500, 'book': 10000, 'items': [['outstanding_check', 250], ['collection', 4000, 25], ['check_error', 2100, 450], ['outstanding_check', 250], ['bank_fee', 90], ['interest', 1200], ['outstanding_check', 15]]}, {'adjusted_bank': 11985, 'adjusted_book': 16735, 'reconciled': False, 'entries': [['collection', 3975], ['check_error', 1650], ['bank_fee', -90], ['interest', 1200]]}], ['control 2', {'bank': 12500, 'book': 11800, 'items': [['nsf', 400], ['bank_fee', 250], ['bank_error', 250]]}, {'adjusted_bank': 12750, 'adjusted_book': 11150, 'reconciled': False, 'entries': [['nsf', -400], ['bank_fee', -250]]}], ['control 3', {'bank': 8000, 'book': 10000, 'items': [['nsf', 1200], ['collection', 4000, 15], ['interest', 400]]}, {'adjusted_bank': 8000, 'adjusted_book': 13185, 'reconciled': False, 'entries': [['nsf', -1200], ['collection', 3985], ['interest', 400]]}], ['control 4', {'bank': 8000, 'book': 9000, 'items': [['check_error', 450, 459], ['outstanding_check', 400], ['interest', 1200]]}, {'adjusted_bank': 7600, 'adjusted_book': 10191, 'reconciled': False, 'entries': [['check_error', -9], ['interest', 1200]]}], ['control 5', {'bank': 10000, 'book': 11800, 'items': [['bank_error', -250], ['deposit_in_transit', 250], ['bank_fee', 250]]}, {'adjusted_bank': 10000, 'adjusted_book': 11550, 'reconciled': False, 'entries': [['bank_fee', -250]]}], ['control 6', {'bank': 12500, 'book': 10000, 'items': [['bank_error', -15], ['collection', 150, 25], ['nsf', 400], ['nsf', 15], ['collection', 2500, 0], ['interest', 1200]]}, {'adjusted_bank': 12485, 'adjusted_book': 13410, 'reconciled': False, 'entries': [['collection', 125], ['nsf', -400], ['nsf', -15], ['collection', 2500], ['interest', 1200]]}]]]\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-bank-reconciliation-unknown-item-handling","generated_at":"2026-09-29T14:46:22.174721+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":"Skip item kinds that are not reconciling items.","root_cause":"Unrecognized item kinds fall through and are posted as book increases.","sha256":"abbaef6bef7d9ed685ab039de3ee96ae1aa9aee442e51887b2840df90083fcf4","title":"Bank reconciliation: unknown item handling · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.652,"exit_code":1,"observations":[{"actual":{"adjusted_bank":11200,"adjusted_book":8725,"entries":[["bank_fee",-90],["interest",15],["nsf",-1200],["memo",0],["memo",0]],"reconciled":false},"check":"regression: unknown item handling","expected":{"adjusted_bank":11200,"adjusted_book":8725,"entries":[["bank_fee",-90],["interest",15],["nsf",-1200]],"reconciled":false},"passed":false},{"actual":{"adjusted_bank":8000,"adjusted_book":10265,"entries":[["interest",15],["bank_fee",-400],["check_error",1650]],"reconciled":false},"check":"control 1","expected":{"adjusted_bank":8000,"adjusted_book":10265,"entries":[["interest",15],["bank_fee",-400],["check_error",1650]],"reconciled":false},"passed":true},{"actual":{"adjusted_bank":12000,"adjusted_book":8710,"entries":[["bank_fee",-90],["bank_fee",-1200]],"reconciled":false},"check":"control 2","expected":{"adjusted_bank":12000,"adjusted_book":8710,"entries":[["bank_fee",-90],["bank_fee",-1200]],"reconciled":false},"passed":true},{"actual":{"adjusted_bank":8650,"adjusted_book":11000,"entries":[["interest",1200],["interest",400],["interest",400]],"reconciled":false},"check":"control 3","expected":{"adjusted_bank":8650,"adjusted_book":11000,"entries":[["interest",1200],["interest",400],["interest",400]],"reconciled":false},"passed":true},{"actual":{"adjusted_bank":11185,"adjusted_book":11665,"entries":[["collection",2485],["check_error",90],["check_error",0],["check_error",180],["nsf",-90]],"reconciled":false},"check":"control 4","expected":{"adjusted_bank":11185,"adjusted_book":11665,"entries":[["collection",2485],["check_error",90],["check_error",0],["check_error",180],["nsf",-90]],"reconciled":false},"passed":true},{"actual":{"adjusted_bank":8430,"adjusted_book":12415,"entries":[["bank_fee",-250],["check_error",1650],["check_error",-1470],["collection",2485]],"reconciled":false},"check":"control 5","expected":{"adjusted_bank":8430,"adjusted_book":12415,"entries":[["bank_fee",-250],["check_error",1650],["check_error",-1470],["collection",2485]],"reconciled":false},"passed":true},{"actual":{"adjusted_bank":12750,"adjusted_book":21180,"entries":[["collection",12000],["check_error",180]],"reconciled":false},"check":"control 6","expected":{"adjusted_bank":12750,"adjusted_book":21180,"entries":[["collection",12000],["check_error",180]],"reconciled":false},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: unknown item handling\", \"actual\": {\"adjusted_bank\": 11200, \"adjusted_book\": 8725, \"reconciled\": false, \"entries\": [[\"bank_fee\", -90], [\"interest\", 15], [\"nsf\", -1200], [\"memo\", 0], [\"memo\", 0]]}, \"expected\": {\"adjusted_bank\": 11200, \"adjusted_book\": 8725, \"reconciled\": false, \"entries\": [[\"bank_fee\", -90], [\"interest\", 15], [\"nsf\", -1200]]}, \"passed\": false}, {\"check\": \"control 1\", \"actual\": {\"adjusted_bank\": 8000, \"adjusted_book\": 10265, \"reconciled\": false, \"entries\": [[\"interest\", 15], [\"bank_fee\", -400], [\"check_error\", 1650]]}, \"expected\": {\"adjusted_bank\": 8000, \"adjusted_book\": 10265, \"reconciled\": false, \"entries\": [[\"interest\", 15], [\"bank_fee\", -400], [\"check_error\", 1650]]}, \"passed\": true}, {\"check\": \"control 2\", \"actual\": {\"adjusted_bank\": 12000, \"adjusted_book\": 8710, \"reconciled\": false, \"entries\": [[\"bank_fee\", -90], [\"bank_fee\", -1200]]}, \"expected\": {\"adjusted_bank\": 12000, \"adjusted_book\": 8710, \"reconciled\": false, \"entries\": [[\"bank_fee\", -90], [\"bank_fee\", -1200]]}, \"passed\": true}, {\"check\": \"control 3\", \"actual\": {\"adjusted_bank\": 8650, \"adjusted_book\": 11000, \"reconciled\": false, \"entries\": [[\"interest\", 1200], [\"interest\", 400], [\"interest\", 400]]}, \"expected\": {\"adjusted_bank\": 8650, \"adjusted_book\": 11000, \"reconciled\": false, \"entries\": [[\"interest\", 1200], [\"interest\", 400], [\"interest\", 400]]}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"adjusted_bank\": 11185, \"adjusted_book\": 11665, \"reconciled\": false, \"entries\": [[\"collection\", 2485], [\"check_error\", 90], [\"check_error\", 0], [\"check_error\", 180], [\"nsf\", -90]]}, \"expected\": {\"adjusted_bank\": 11185, \"adjusted_book\": 11665, \"reconciled\": false, \"entries\": [[\"collection\", 2485], [\"check_error\", 90], [\"check_error\", 0], [\"check_error\", 180], [\"nsf\", -90]]}, \"passed\": true}, {\"check\": \"control 5\", \"actual\": {\"adjusted_bank\": 8430, \"adjusted_book\": 12415, \"reconciled\": false, \"entries\": [[\"bank_fee\", -250], [\"check_error\", 1650], [\"check_error\", -1470], [\"collection\", 2485]]}, \"expected\": {\"adjusted_bank\": 8430, \"adjusted_book\": 12415, \"reconciled\": false, \"entries\": [[\"bank_fee\", -250], [\"check_error\", 1650], [\"check_error\", -1470], [\"collection\", 2485]]}, \"passed\": true}, {\"check\": \"control 6\", \"actual\": {\"adjusted_bank\": 12750, \"adjusted_book\": 21180, \"reconciled\": false, \"entries\": [[\"collection\", 12000], [\"check_error\", 180]]}, \"expected\": {\"adjusted_bank\": 12750, \"adjusted_book\": 21180, \"reconciled\": false, \"entries\": [[\"collection\", 12000], [\"check_error\", 180]]}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":45.472,"exit_code":1,"observations":[{"actual":{"adjusted_bank":11200,"adjusted_book":10175,"entries":[["bank_fee",-90],["interest",15],["nsf",-1200],["memo",250],["memo",1200]],"reconciled":false},"check":"regression: unknown item handling","expected":{"adjusted_bank":11200,"adjusted_book":8725,"entries":[["bank_fee",-90],["interest",15],["nsf",-1200]],"reconciled":false},"passed":false},{"actual":{"adjusted_bank":8000,"adjusted_book":10265,"entries":[["interest",15],["bank_fee",-400],["check_error",1650]],"reconciled":false},"check":"control 1","expected":{"adjusted_bank":8000,"adjusted_book":10265,"entries":[["interest",15],["bank_fee",-400],["check_error",1650]],"reconciled":false},"passed":true},{"actual":{"adjusted_bank":12000,"adjusted_book":8710,"entries":[["bank_fee",-90],["bank_fee",-1200]],"reconciled":false},"check":"control 2","expected":{"adjusted_bank":12000,"adjusted_book":8710,"entries":[["bank_fee",-90],["bank_fee",-1200]],"reconciled":false},"passed":true},{"actual":{"adjusted_bank":8650,"adjusted_book":11000,"entries":[["interest",1200],["interest",400],["interest",400]],"reconciled":false},"check":"control 3","expected":{"adjusted_bank":8650,"adjusted_book":11000,"entries":[["interest",1200],["interest",400],["interest",400]],"reconciled":false},"passed":true},{"actual":{"adjusted_bank":11185,"adjusted_book":11665,"entries":[["collection",2485],["check_error",90],["check_error",0],["check_error",180],["nsf",-90]],"reconciled":false},"check":"control 4","expected":{"adjusted_bank":11185,"adjusted_book":11665,"entries":[["collection",2485],["check_error",90],["check_error",0],["check_error",180],["nsf",-90]],"reconciled":false},"passed":true},{"actual":{"adjusted_bank":8430,"adjusted_book":12415,"entries":[["bank_fee",-250],["check_error",1650],["check_error",-1470],["collection",2485]],"reconciled":false},"check":"control 5","expected":{"adjusted_bank":8430,"adjusted_book":12415,"entries":[["bank_fee",-250],["check_error",1650],["check_error",-1470],["collection",2485]],"reconciled":false},"passed":true},{"actual":{"adjusted_bank":12750,"adjusted_book":21180,"entries":[["collection",12000],["check_error",180]],"reconciled":false},"check":"control 6","expected":{"adjusted_bank":12750,"adjusted_book":21180,"entries":[["collection",12000],["check_error",180]],"reconciled":false},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: unknown item handling\", \"actual\": {\"adjusted_bank\": 11200, \"adjusted_book\": 10175, \"reconciled\": false, \"entries\": [[\"bank_fee\", -90], [\"interest\", 15], [\"nsf\", -1200], [\"memo\", 250], [\"memo\", 1200]]}, \"expected\": {\"adjusted_bank\": 11200, \"adjusted_book\": 8725, \"reconciled\": false, \"entries\": [[\"bank_fee\", -90], [\"interest\", 15], [\"nsf\", -1200]]}, \"passed\": false}, {\"check\": \"control 1\", \"actual\": {\"adjusted_bank\": 8000, \"adjusted_book\": 10265, \"reconciled\": false, \"entries\": [[\"interest\", 15], [\"bank_fee\", -400], [\"check_error\", 1650]]}, \"expected\": {\"adjusted_bank\": 8000, \"adjusted_book\": 10265, \"reconciled\": false, \"entries\": [[\"interest\", 15], [\"bank_fee\", -400], [\"check_error\", 1650]]}, \"passed\": true}, {\"check\": \"control 2\", \"actual\": {\"adjusted_bank\": 12000, \"adjusted_book\": 8710, \"reconciled\": false, \"entries\": [[\"bank_fee\", -90], [\"bank_fee\", -1200]]}, \"expected\": {\"adjusted_bank\": 12000, \"adjusted_book\": 8710, \"reconciled\": false, \"entries\": [[\"bank_fee\", -90], [\"bank_fee\", -1200]]}, \"passed\": true}, {\"check\": \"control 3\", \"actual\": {\"adjusted_bank\": 8650, \"adjusted_book\": 11000, \"reconciled\": false, \"entries\": [[\"interest\", 1200], [\"interest\", 400], [\"interest\", 400]]}, \"expected\": {\"adjusted_bank\": 8650, \"adjusted_book\": 11000, \"reconciled\": false, \"entries\": [[\"interest\", 1200], [\"interest\", 400], [\"interest\", 400]]}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"adjusted_bank\": 11185, \"adjusted_book\": 11665, \"reconciled\": false, \"entries\": [[\"collection\", 2485], [\"check_error\", 90], [\"check_error\", 0], [\"check_error\", 180], [\"nsf\", -90]]}, \"expected\": {\"adjusted_bank\": 11185, \"adjusted_book\": 11665, \"reconciled\": false, \"entries\": [[\"collection\", 2485], [\"check_error\", 90], [\"check_error\", 0], [\"check_error\", 180], [\"nsf\", -90]]}, \"passed\": true}, {\"check\": \"control 5\", \"actual\": {\"adjusted_bank\": 8430, \"adjusted_book\": 12415, \"reconciled\": false, \"entries\": [[\"bank_fee\", -250], [\"check_error\", 1650], [\"check_error\", -1470], [\"collection\", 2485]]}, \"expected\": {\"adjusted_bank\": 8430, \"adjusted_book\": 12415, \"reconciled\": false, \"entries\": [[\"bank_fee\", -250], [\"check_error\", 1650], [\"check_error\", -1470], [\"collection\", 2485]]}, \"passed\": true}, {\"check\": \"control 6\", \"actual\": {\"adjusted_bank\": 12750, \"adjusted_book\": 21180, \"reconciled\": false, \"entries\": [[\"collection\", 12000], [\"check_error\", 180]]}, \"expected\": {\"adjusted_bank\": 12750, \"adjusted_book\": 21180, \"reconciled\": false, \"entries\": [[\"collection\", 12000], [\"check_error\", 180]]}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.263,"exit_code":0,"observations":[{"actual":{"adjusted_bank":11200,"adjusted_book":8725,"entries":[["bank_fee",-90],["interest",15],["nsf",-1200]],"reconciled":false},"check":"regression: unknown item handling","expected":{"adjusted_bank":11200,"adjusted_book":8725,"entries":[["bank_fee",-90],["interest",15],["nsf",-1200]],"reconciled":false},"passed":true},{"actual":{"adjusted_bank":8000,"adjusted_book":10265,"entries":[["interest",15],["bank_fee",-400],["check_error",1650]],"reconciled":false},"check":"control 1","expected":{"adjusted_bank":8000,"adjusted_book":10265,"entries":[["interest",15],["bank_fee",-400],["check_error",1650]],"reconciled":false},"passed":true},{"actual":{"adjusted_bank":12000,"adjusted_book":8710,"entries":[["bank_fee",-90],["bank_fee",-1200]],"reconciled":false},"check":"control 2","expected":{"adjusted_bank":12000,"adjusted_book":8710,"entries":[["bank_fee",-90],["bank_fee",-1200]],"reconciled":false},"passed":true},{"actual":{"adjusted_bank":8650,"adjusted_book":11000,"entries":[["interest",1200],["interest",400],["interest",400]],"reconciled":false},"check":"control 3","expected":{"adjusted_bank":8650,"adjusted_book":11000,"entries":[["interest",1200],["interest",400],["interest",400]],"reconciled":false},"passed":true},{"actual":{"adjusted_bank":11185,"adjusted_book":11665,"entries":[["collection",2485],["check_error",90],["check_error",0],["check_error",180],["nsf",-90]],"reconciled":false},"check":"control 4","expected":{"adjusted_bank":11185,"adjusted_book":11665,"entries":[["collection",2485],["check_error",90],["check_error",0],["check_error",180],["nsf",-90]],"reconciled":false},"passed":true},{"actual":{"adjusted_bank":8430,"adjusted_book":12415,"entries":[["bank_fee",-250],["check_error",1650],["check_error",-1470],["collection",2485]],"reconciled":false},"check":"control 5","expected":{"adjusted_bank":8430,"adjusted_book":12415,"entries":[["bank_fee",-250],["check_error",1650],["check_error",-1470],["collection",2485]],"reconciled":false},"passed":true},{"actual":{"adjusted_bank":12750,"adjusted_book":21180,"entries":[["collection",12000],["check_error",180]],"reconciled":false},"check":"control 6","expected":{"adjusted_bank":12750,"adjusted_book":21180,"entries":[["collection",12000],["check_error",180]],"reconciled":false},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: unknown item handling\", \"actual\": {\"adjusted_bank\": 11200, \"adjusted_book\": 8725, \"reconciled\": false, \"entries\": [[\"bank_fee\", -90], [\"interest\", 15], [\"nsf\", -1200]]}, \"expected\": {\"adjusted_bank\": 11200, \"adjusted_book\": 8725, \"reconciled\": false, \"entries\": [[\"bank_fee\", -90], [\"interest\", 15], [\"nsf\", -1200]]}, \"passed\": true}, {\"check\": \"control 1\", \"actual\": {\"adjusted_bank\": 8000, \"adjusted_book\": 10265, \"reconciled\": false, \"entries\": [[\"interest\", 15], [\"bank_fee\", -400], [\"check_error\", 1650]]}, \"expected\": {\"adjusted_bank\": 8000, \"adjusted_book\": 10265, \"reconciled\": false, \"entries\": [[\"interest\", 15], [\"bank_fee\", -400], [\"check_error\", 1650]]}, \"passed\": true}, {\"check\": \"control 2\", \"actual\": {\"adjusted_bank\": 12000, \"adjusted_book\": 8710, \"reconciled\": false, \"entries\": [[\"bank_fee\", -90], [\"bank_fee\", -1200]]}, \"expected\": {\"adjusted_bank\": 12000, \"adjusted_book\": 8710, \"reconciled\": false, \"entries\": [[\"bank_fee\", -90], [\"bank_fee\", -1200]]}, \"passed\": true}, {\"check\": \"control 3\", \"actual\": {\"adjusted_bank\": 8650, \"adjusted_book\": 11000, \"reconciled\": false, \"entries\": [[\"interest\", 1200], [\"interest\", 400], [\"interest\", 400]]}, \"expected\": {\"adjusted_bank\": 8650, \"adjusted_book\": 11000, \"reconciled\": false, \"entries\": [[\"interest\", 1200], [\"interest\", 400], [\"interest\", 400]]}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"adjusted_bank\": 11185, \"adjusted_book\": 11665, \"reconciled\": false, \"entries\": [[\"collection\", 2485], [\"check_error\", 90], [\"check_error\", 0], [\"check_error\", 180], [\"nsf\", -90]]}, \"expected\": {\"adjusted_bank\": 11185, \"adjusted_book\": 11665, \"reconciled\": false, \"entries\": [[\"collection\", 2485], [\"check_error\", 90], [\"check_error\", 0], [\"check_error\", 180], [\"nsf\", -90]]}, \"passed\": true}, {\"check\": \"control 5\", \"actual\": {\"adjusted_bank\": 8430, \"adjusted_book\": 12415, \"reconciled\": false, \"entries\": [[\"bank_fee\", -250], [\"check_error\", 1650], [\"check_error\", -1470], [\"collection\", 2485]]}, \"expected\": {\"adjusted_bank\": 8430, \"adjusted_book\": 12415, \"reconciled\": false, \"entries\": [[\"bank_fee\", -250], [\"check_error\", 1650], [\"check_error\", -1470], [\"collection\", 2485]]}, \"passed\": true}, {\"check\": \"control 6\", \"actual\": {\"adjusted_bank\": 12750, \"adjusted_book\": 21180, \"reconciled\": false, \"entries\": [[\"collection\", 12000], [\"check_error\", 180]]}, \"expected\": {\"adjusted_bank\": 12750, \"adjusted_book\": 21180, \"reconciled\": false, \"entries\": [[\"collection\", 12000], [\"check_error\", 180]]}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}