{"abstract":"The balance entering forbearance reflects a payment the borrower never made.","category":"Loan amortization schedules","checks":7,"contract":"x = {'principal', 'rate_bp', 'months' n, 'forbear': [start_month, count], 'mode': 'capitalize'|'defer'}. Months before start_month are paid with the level payment (exact annuity, half-up, interest round_half_up(balance*bp/120000)). During the count forbearance months interest accrues on the unchanged balance, rounded monthly, without compounding. The remaining payment count n - (start - 1) is preserved (term extended). capitalize: accrued interest is added to the balance and the payment re-leveled over the remaining count; defer: accrued interest goes to a non-interest bucket and the payment is unchanged. Return {'balance', 'deferred', 'payment'}.","contract_signature":"x","evaluation_group":"w2-loan-amortization-schedules-forbearance-capitalize-or-defer","failed_approach":"Starting at month 2 skips a payment that was made.","family":"w2-loan-amortization-schedules-forbearance-capitalize-or-defer-payments-before-forbearance","id":"FA-58711","implementations":{"attempt":{"sha256":"f90f2120ecebd3f8398a5802ca405b5302020253161a06ed4ed2df39b5174329","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    def rnd(n, d):\n        q, r = divmod(n, d)\n        return q + (1 if 2 * r >= d else 0)\n    def level(P, n):\n        if n <= 0 or P <= 0:\n            return 0\n        if bp == 0:\n            exact = Fraction(P, n)\n        else:\n            r = Fraction(bp, 120000)\n            exact = P * r / (1 - (1 + r) ** -n)\n        return math.floor(exact + Fraction(1, 2))\n    bp = x['rate_bp']\n    n = x['months']\n    P = x['principal']\n    pay = level(P, n)\n    bal = P\n    start, count = x['forbear']\n    for k in range(2, start):\n        interest = rnd(bal * bp, 120000)\n        bal -= pay - interest\n    acc = 0\n    for k in range(count):\n        acc += rnd(bal * bp, 120000)\n    remaining = n - (start - 1)\n    if x['mode'] == 'capitalize':\n        bal += acc\n        new_pay = level(bal, remaining)\n        deferred = 0\n    else:\n        deferred = acc\n        new_pay = pay\n    return {'balance': bal, 'deferred': deferred, 'payment': new_pay}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: payments before forbearance', {'principal': 100000, 'rate_bp': 0, 'months': 24, 'forbear': [1, 3], 'mode': 'defer'}, {'balance': 100000, 'deferred': 0, 'payment': 4167}], ['regression: payments before forbearance, partial-repair probe', {'principal': 100000, 'rate_bp': 1200, 'months': 24, 'forbear': [2, 6], 'mode': 'capitalize'}, {'balance': 102071, 'deferred': 0, 'payment': 4990}], ['sample 1', {'principal': 1000000, 'rate_bp': 0, 'months': 60, 'forbear': [1, 3], 'mode': 'capitalize'}, {'balance': 1000000, 'deferred': 0, 'payment': 16667}], ['sample 2', {'principal': 100000, 'rate_bp': 0, 'months': 24, 'forbear': [12, 1], 'mode': 'capitalize'}, {'balance': 54163, 'deferred': 0, 'payment': 4166}], ['sample 3', {'principal': 250000, 'rate_bp': 1200, 'months': 12, 'forbear': [2, 6], 'mode': 'defer'}, {'balance': 230288, 'deferred': 13818, 'payment': 22212}], ['sample 4', {'principal': 100000, 'rate_bp': 1200, 'months': 60, 'forbear': [12, 3], 'mode': 'capitalize'}, {'balance': 88417, 'deferred': 0, 'payment': 2291}], ['sample 5', {'principal': 100000, 'rate_bp': 1200, 'months': 12, 'forbear': [2, 1], 'mode': 'defer'}, {'balance': 92115, 'deferred': 921, 'payment': 8885}]], [['regression: payments before forbearance', {'principal': 1000000, 'rate_bp': 600, 'months': 24, 'forbear': [6, 6], 'mode': 'defer'}, {'balance': 801419, 'deferred': 24042, 'payment': 44321}], ['sample 1', {'principal': 100000, 'rate_bp': 0, 'months': 60, 'forbear': [1, 1], 'mode': 'defer'}, {'balance': 100000, 'deferred': 0, 'payment': 1667}], ['sample 2', {'principal': 250000, 'rate_bp': 600, 'months': 12, 'forbear': [12, 1], 'mode': 'defer'}, {'balance': 21406, 'deferred': 107, 'payment': 21517}], ['sample 3', {'principal': 100000, 'rate_bp': 0, 'months': 60, 'forbear': [6, 6], 'mode': 'defer'}, {'balance': 91665, 'deferred': 0, 'payment': 1667}], ['sample 4', {'principal': 250000, 'rate_bp': 600, 'months': 60, 'forbear': [6, 1], 'mode': 'defer'}, {'balance': 231905, 'deferred': 1160, 'payment': 4833}], ['sample 5', {'principal': 250000, 'rate_bp': 1200, 'months': 12, 'forbear': [12, 6], 'mode': 'capitalize'}, {'balance': 23316, 'deferred': 0, 'payment': 23549}], ['sample 6', {'principal': 250000, 'rate_bp': 600, 'months': 24, 'forbear': [2, 3], 'mode': 'defer'}, {'balance': 240170, 'deferred': 3603, 'payment': 11080}]], [['regression: payments before forbearance', {'principal': 1000000, 'rate_bp': 600, 'months': 24, 'forbear': [2, 3], 'mode': 'capitalize'}, {'balance': 975088, 'deferred': 0, 'payment': 44985}], ['sample 1', {'principal': 1000000, 'rate_bp': 1200, 'months': 24, 'forbear': [6, 6], 'mode': 'capitalize'}, {'balance': 859545, 'deferred': 0, 'payment': 49898}], ['sample 2', {'principal': 100000, 'rate_bp': 1200, 'months': 60, 'forbear': [1, 1], 'mode': 'capitalize'}, {'balance': 101000, 'deferred': 0, 'payment': 2247}], ['sample 3', {'principal': 100000, 'rate_bp': 0, 'months': 60, 'forbear': [1, 6], 'mode': 'defer'}, {'balance': 100000, 'deferred': 0, 'payment': 1667}], ['sample 4', {'principal': 100000, 'rate_bp': 1200, 'months': 12, 'forbear': [6, 6], 'mode': 'capitalize'}, {'balance': 63367, 'deferred': 0, 'payment': 9418}], ['sample 5', {'principal': 250000, 'rate_bp': 1200, 'months': 60, 'forbear': [6, 6], 'mode': 'capitalize'}, {'balance': 248449, 'deferred': 0, 'payment': 5895}], ['sample 6', {'principal': 250000, 'rate_bp': 600, 'months': 60, 'forbear': [6, 6], 'mode': 'capitalize'}, {'balance': 238865, 'deferred': 0, 'payment': 4978}]], [['regression: payments before forbearance', {'principal': 250000, 'rate_bp': 600, 'months': 60, 'forbear': [6, 3], 'mode': 'capitalize'}, {'balance': 235385, 'deferred': 0, 'payment': 4906}], ['sample 1', {'principal': 250000, 'rate_bp': 0, 'months': 12, 'forbear': [12, 1], 'mode': 'capitalize'}, {'balance': 20837, 'deferred': 0, 'payment': 20837}], ['sample 2', {'principal': 250000, 'rate_bp': 600, 'months': 12, 'forbear': [1, 1], 'mode': 'defer'}, {'balance': 250000, 'deferred': 1250, 'payment': 21517}], ['sample 3', {'principal': 1000000, 'rate_bp': 0, 'months': 60, 'forbear': [1, 1], 'mode': 'capitalize'}, {'balance': 1000000, 'deferred': 0, 'payment': 16667}], ['sample 4', {'principal': 1000000, 'rate_bp': 1200, 'months': 24, 'forbear': [2, 6], 'mode': 'defer'}, {'balance': 962927, 'deferred': 57774, 'payment': 47073}], ['sample 5', {'principal': 100000, 'rate_bp': 0, 'months': 12, 'forbear': [12, 6], 'mode': 'defer'}, {'balance': 8337, 'deferred': 0, 'payment': 8333}], ['sample 6', {'principal': 100000, 'rate_bp': 600, 'months': 60, 'forbear': [12, 3], 'mode': 'defer'}, {'balance': 83837, 'deferred': 1257, 'payment': 1933}]], [['regression: payments before forbearance', {'principal': 100000, 'rate_bp': 0, 'months': 60, 'forbear': [2, 3], 'mode': 'capitalize'}, {'balance': 98333, 'deferred': 0, 'payment': 1667}], ['sample 1', {'principal': 1000000, 'rate_bp': 0, 'months': 60, 'forbear': [1, 6], 'mode': 'defer'}, {'balance': 1000000, 'deferred': 0, 'payment': 16667}], ['sample 2', {'principal': 100000, 'rate_bp': 600, 'months': 60, 'forbear': [12, 3], 'mode': 'defer'}, {'balance': 83837, 'deferred': 1257, 'payment': 1933}], ['sample 3', {'principal': 100000, 'rate_bp': 600, 'months': 12, 'forbear': [6, 3], 'mode': 'defer'}, {'balance': 59058, 'deferred': 885, 'payment': 8607}], ['sample 4', {'principal': 1000000, 'rate_bp': 600, 'months': 12, 'forbear': [2, 1], 'mode': 'defer'}, {'balance': 918934, 'deferred': 4595, 'payment': 86066}], ['sample 5', {'principal': 100000, 'rate_bp': 600, 'months': 12, 'forbear': [12, 1], 'mode': 'defer'}, {'balance': 8560, 'deferred': 43, 'payment': 8607}], ['sample 6', {'principal': 1000000, 'rate_bp': 1200, 'months': 24, 'forbear': [2, 3], 'mode': 'capitalize'}, {'balance': 991814, 'deferred': 0, 'payment': 48486}]]]\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":"f58497bacad36db01f4fd5b99a7997e47f7225b5bd43fa9b6ded9e191be7cd84","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    def rnd(n, d):\n        q, r = divmod(n, d)\n        return q + (1 if 2 * r >= d else 0)\n    def level(P, n):\n        if n <= 0 or P <= 0:\n            return 0\n        if bp == 0:\n            exact = Fraction(P, n)\n        else:\n            r = Fraction(bp, 120000)\n            exact = P * r / (1 - (1 + r) ** -n)\n        return math.floor(exact + Fraction(1, 2))\n    bp = x['rate_bp']\n    n = x['months']\n    P = x['principal']\n    pay = level(P, n)\n    bal = P\n    start, count = x['forbear']\n    for k in range(1, start + 1):\n        interest = rnd(bal * bp, 120000)\n        bal -= pay - interest\n    acc = 0\n    for k in range(count):\n        acc += rnd(bal * bp, 120000)\n    remaining = n - (start - 1)\n    if x['mode'] == 'capitalize':\n        bal += acc\n        new_pay = level(bal, remaining)\n        deferred = 0\n    else:\n        deferred = acc\n        new_pay = pay\n    return {'balance': bal, 'deferred': deferred, 'payment': new_pay}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: payments before forbearance', {'principal': 100000, 'rate_bp': 0, 'months': 24, 'forbear': [1, 3], 'mode': 'defer'}, {'balance': 100000, 'deferred': 0, 'payment': 4167}], ['regression: payments before forbearance, partial-repair probe', {'principal': 100000, 'rate_bp': 1200, 'months': 24, 'forbear': [2, 6], 'mode': 'capitalize'}, {'balance': 102071, 'deferred': 0, 'payment': 4990}], ['sample 1', {'principal': 1000000, 'rate_bp': 0, 'months': 60, 'forbear': [1, 3], 'mode': 'capitalize'}, {'balance': 1000000, 'deferred': 0, 'payment': 16667}], ['sample 2', {'principal': 100000, 'rate_bp': 0, 'months': 24, 'forbear': [12, 1], 'mode': 'capitalize'}, {'balance': 54163, 'deferred': 0, 'payment': 4166}], ['sample 3', {'principal': 250000, 'rate_bp': 1200, 'months': 12, 'forbear': [2, 6], 'mode': 'defer'}, {'balance': 230288, 'deferred': 13818, 'payment': 22212}], ['sample 4', {'principal': 100000, 'rate_bp': 1200, 'months': 60, 'forbear': [12, 3], 'mode': 'capitalize'}, {'balance': 88417, 'deferred': 0, 'payment': 2291}], ['sample 5', {'principal': 100000, 'rate_bp': 1200, 'months': 12, 'forbear': [2, 1], 'mode': 'defer'}, {'balance': 92115, 'deferred': 921, 'payment': 8885}]], [['regression: payments before forbearance', {'principal': 1000000, 'rate_bp': 600, 'months': 24, 'forbear': [6, 6], 'mode': 'defer'}, {'balance': 801419, 'deferred': 24042, 'payment': 44321}], ['sample 1', {'principal': 100000, 'rate_bp': 0, 'months': 60, 'forbear': [1, 1], 'mode': 'defer'}, {'balance': 100000, 'deferred': 0, 'payment': 1667}], ['sample 2', {'principal': 250000, 'rate_bp': 600, 'months': 12, 'forbear': [12, 1], 'mode': 'defer'}, {'balance': 21406, 'deferred': 107, 'payment': 21517}], ['sample 3', {'principal': 100000, 'rate_bp': 0, 'months': 60, 'forbear': [6, 6], 'mode': 'defer'}, {'balance': 91665, 'deferred': 0, 'payment': 1667}], ['sample 4', {'principal': 250000, 'rate_bp': 600, 'months': 60, 'forbear': [6, 1], 'mode': 'defer'}, {'balance': 231905, 'deferred': 1160, 'payment': 4833}], ['sample 5', {'principal': 250000, 'rate_bp': 1200, 'months': 12, 'forbear': [12, 6], 'mode': 'capitalize'}, {'balance': 23316, 'deferred': 0, 'payment': 23549}], ['sample 6', {'principal': 250000, 'rate_bp': 600, 'months': 24, 'forbear': [2, 3], 'mode': 'defer'}, {'balance': 240170, 'deferred': 3603, 'payment': 11080}]], [['regression: payments before forbearance', {'principal': 1000000, 'rate_bp': 600, 'months': 24, 'forbear': [2, 3], 'mode': 'capitalize'}, {'balance': 975088, 'deferred': 0, 'payment': 44985}], ['sample 1', {'principal': 1000000, 'rate_bp': 1200, 'months': 24, 'forbear': [6, 6], 'mode': 'capitalize'}, {'balance': 859545, 'deferred': 0, 'payment': 49898}], ['sample 2', {'principal': 100000, 'rate_bp': 1200, 'months': 60, 'forbear': [1, 1], 'mode': 'capitalize'}, {'balance': 101000, 'deferred': 0, 'payment': 2247}], ['sample 3', {'principal': 100000, 'rate_bp': 0, 'months': 60, 'forbear': [1, 6], 'mode': 'defer'}, {'balance': 100000, 'deferred': 0, 'payment': 1667}], ['sample 4', {'principal': 100000, 'rate_bp': 1200, 'months': 12, 'forbear': [6, 6], 'mode': 'capitalize'}, {'balance': 63367, 'deferred': 0, 'payment': 9418}], ['sample 5', {'principal': 250000, 'rate_bp': 1200, 'months': 60, 'forbear': [6, 6], 'mode': 'capitalize'}, {'balance': 248449, 'deferred': 0, 'payment': 5895}], ['sample 6', {'principal': 250000, 'rate_bp': 600, 'months': 60, 'forbear': [6, 6], 'mode': 'capitalize'}, {'balance': 238865, 'deferred': 0, 'payment': 4978}]], [['regression: payments before forbearance', {'principal': 250000, 'rate_bp': 600, 'months': 60, 'forbear': [6, 3], 'mode': 'capitalize'}, {'balance': 235385, 'deferred': 0, 'payment': 4906}], ['sample 1', {'principal': 250000, 'rate_bp': 0, 'months': 12, 'forbear': [12, 1], 'mode': 'capitalize'}, {'balance': 20837, 'deferred': 0, 'payment': 20837}], ['sample 2', {'principal': 250000, 'rate_bp': 600, 'months': 12, 'forbear': [1, 1], 'mode': 'defer'}, {'balance': 250000, 'deferred': 1250, 'payment': 21517}], ['sample 3', {'principal': 1000000, 'rate_bp': 0, 'months': 60, 'forbear': [1, 1], 'mode': 'capitalize'}, {'balance': 1000000, 'deferred': 0, 'payment': 16667}], ['sample 4', {'principal': 1000000, 'rate_bp': 1200, 'months': 24, 'forbear': [2, 6], 'mode': 'defer'}, {'balance': 962927, 'deferred': 57774, 'payment': 47073}], ['sample 5', {'principal': 100000, 'rate_bp': 0, 'months': 12, 'forbear': [12, 6], 'mode': 'defer'}, {'balance': 8337, 'deferred': 0, 'payment': 8333}], ['sample 6', {'principal': 100000, 'rate_bp': 600, 'months': 60, 'forbear': [12, 3], 'mode': 'defer'}, {'balance': 83837, 'deferred': 1257, 'payment': 1933}]], [['regression: payments before forbearance', {'principal': 100000, 'rate_bp': 0, 'months': 60, 'forbear': [2, 3], 'mode': 'capitalize'}, {'balance': 98333, 'deferred': 0, 'payment': 1667}], ['sample 1', {'principal': 1000000, 'rate_bp': 0, 'months': 60, 'forbear': [1, 6], 'mode': 'defer'}, {'balance': 1000000, 'deferred': 0, 'payment': 16667}], ['sample 2', {'principal': 100000, 'rate_bp': 600, 'months': 60, 'forbear': [12, 3], 'mode': 'defer'}, {'balance': 83837, 'deferred': 1257, 'payment': 1933}], ['sample 3', {'principal': 100000, 'rate_bp': 600, 'months': 12, 'forbear': [6, 3], 'mode': 'defer'}, {'balance': 59058, 'deferred': 885, 'payment': 8607}], ['sample 4', {'principal': 1000000, 'rate_bp': 600, 'months': 12, 'forbear': [2, 1], 'mode': 'defer'}, {'balance': 918934, 'deferred': 4595, 'payment': 86066}], ['sample 5', {'principal': 100000, 'rate_bp': 600, 'months': 12, 'forbear': [12, 1], 'mode': 'defer'}, {'balance': 8560, 'deferred': 43, 'payment': 8607}], ['sample 6', {'principal': 1000000, 'rate_bp': 1200, 'months': 24, 'forbear': [2, 3], 'mode': 'capitalize'}, {'balance': 991814, 'deferred': 0, 'payment': 48486}]]]\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 lending rules stated in the contract; money is integer cents and rates are basis points; it makes no claim of conformance to any regulation, servicing 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-loan-amortization-schedules-forbearance-capitalize-or-defer-payments-before-forbearance","generated_at":"2026-09-29T14:46:29.369886+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Amortization engines drive borrower statements, payoff quotes and investor remittances; a misplaced rounding step, boundary or ordering rule compounds across hundreds of periods.","root_cause":"The first forbearance month is treated as a paid month.","sha256":"054a44b0253e0a4f6a014fb6acc0a15b6fc7b3dd841e4593840b5f78d2f4ca21","title":"Forbearance capitalization or deferral: payments before forbearance · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":44.053,"exit_code":1,"observations":[{"actual":{"balance":100000,"deferred":0,"payment":4167},"check":"regression: payments before forbearance","expected":{"balance":100000,"deferred":0,"payment":4167},"passed":true},{"actual":{"balance":106000,"deferred":0,"payment":5182},"check":"regression: payments before forbearance, partial-repair probe","expected":{"balance":102071,"deferred":0,"payment":4990},"passed":false},{"actual":{"balance":1000000,"deferred":0,"payment":16667},"check":"sample 1","expected":{"balance":1000000,"deferred":0,"payment":16667},"passed":true},{"actual":{"balance":58330,"deferred":0,"payment":4487},"check":"sample 2","expected":{"balance":54163,"deferred":0,"payment":4166},"passed":false},{"actual":{"balance":250000,"deferred":15000,"payment":22212},"check":"sample 3","expected":{"balance":230288,"deferred":13818,"payment":22212},"passed":false},{"actual":{"balance":89811,"deferred":0,"payment":2327},"check":"sample 4","expected":{"balance":88417,"deferred":0,"payment":2291},"passed":false},{"actual":{"balance":100000,"deferred":1000,"payment":8885},"check":"sample 5","expected":{"balance":92115,"deferred":921,"payment":8885},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: payments before forbearance\", \"actual\": {\"balance\": 100000, \"deferred\": 0, \"payment\": 4167}, \"expected\": {\"balance\": 100000, \"deferred\": 0, \"payment\": 4167}, \"passed\": true}, {\"check\": \"regression: payments before forbearance, partial-repair probe\", \"actual\": {\"balance\": 106000, \"deferred\": 0, \"payment\": 5182}, \"expected\": {\"balance\": 102071, \"deferred\": 0, \"payment\": 4990}, \"passed\": false}, {\"check\": \"sample 1\", \"actual\": {\"balance\": 1000000, \"deferred\": 0, \"payment\": 16667}, \"expected\": {\"balance\": 1000000, \"deferred\": 0, \"payment\": 16667}, \"passed\": true}, {\"check\": \"sample 2\", \"actual\": {\"balance\": 58330, \"deferred\": 0, \"payment\": 4487}, \"expected\": {\"balance\": 54163, \"deferred\": 0, \"payment\": 4166}, \"passed\": false}, {\"check\": \"sample 3\", \"actual\": {\"balance\": 250000, \"deferred\": 15000, \"payment\": 22212}, \"expected\": {\"balance\": 230288, \"deferred\": 13818, \"payment\": 22212}, \"passed\": false}, {\"check\": \"sample 4\", \"actual\": {\"balance\": 89811, \"deferred\": 0, \"payment\": 2327}, \"expected\": {\"balance\": 88417, \"deferred\": 0, \"payment\": 2291}, \"passed\": false}, {\"check\": \"sample 5\", \"actual\": {\"balance\": 100000, \"deferred\": 1000, \"payment\": 8885}, \"expected\": {\"balance\": 92115, \"deferred\": 921, \"payment\": 8885}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.981,"exit_code":1,"observations":[{"actual":{"balance":95833,"deferred":0,"payment":4167},"check":"regression: payments before forbearance","expected":{"balance":100000,"deferred":0,"payment":4167},"passed":false},{"actual":{"balance":98099,"deferred":0,"payment":4796},"check":"regression: payments before forbearance, partial-repair probe","expected":{"balance":102071,"deferred":0,"payment":4990},"passed":false},{"actual":{"balance":983333,"deferred":0,"payment":16389},"check":"sample 1","expected":{"balance":1000000,"deferred":0,"payment":16667},"passed":false},{"actual":{"balance":49996,"deferred":0,"payment":3846},"check":"sample 2","expected":{"balance":54163,"deferred":0,"payment":4166},"passed":false},{"actual":{"balance":210379,"deferred":12624,"payment":22212},"check":"sample 3","expected":{"balance":230288,"deferred":13818,"payment":22212},"passed":false},{"actual":{"balance":87012,"deferred":0,"payment":2255},"check":"sample 4","expected":{"balance":88417,"deferred":0,"payment":2291},"passed":false},{"actual":{"balance":84151,"deferred":842,"payment":8885},"check":"sample 5","expected":{"balance":92115,"deferred":921,"payment":8885},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: payments before forbearance\", \"actual\": {\"balance\": 95833, \"deferred\": 0, \"payment\": 4167}, \"expected\": {\"balance\": 100000, \"deferred\": 0, \"payment\": 4167}, \"passed\": false}, {\"check\": \"regression: payments before forbearance, partial-repair probe\", \"actual\": {\"balance\": 98099, \"deferred\": 0, \"payment\": 4796}, \"expected\": {\"balance\": 102071, \"deferred\": 0, \"payment\": 4990}, \"passed\": false}, {\"check\": \"sample 1\", \"actual\": {\"balance\": 983333, \"deferred\": 0, \"payment\": 16389}, \"expected\": {\"balance\": 1000000, \"deferred\": 0, \"payment\": 16667}, \"passed\": false}, {\"check\": \"sample 2\", \"actual\": {\"balance\": 49996, \"deferred\": 0, \"payment\": 3846}, \"expected\": {\"balance\": 54163, \"deferred\": 0, \"payment\": 4166}, \"passed\": false}, {\"check\": \"sample 3\", \"actual\": {\"balance\": 210379, \"deferred\": 12624, \"payment\": 22212}, \"expected\": {\"balance\": 230288, \"deferred\": 13818, \"payment\": 22212}, \"passed\": false}, {\"check\": \"sample 4\", \"actual\": {\"balance\": 87012, \"deferred\": 0, \"payment\": 2255}, \"expected\": {\"balance\": 88417, \"deferred\": 0, \"payment\": 2291}, \"passed\": false}, {\"check\": \"sample 5\", \"actual\": {\"balance\": 84151, \"deferred\": 842, \"payment\": 8885}, \"expected\": {\"balance\": 92115, \"deferred\": 921, \"payment\": 8885}, \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}