FAILURE MAP
← Case archive

FA-58700 / Loan amortization schedules / Member archive

Annual escrow analysis: low point comparison · case 05

Escrow accounts with plenty of funds are told they have a shortage.

Member previewVariant 5 · 3 implementations · 7 checks per implementation

Case contract

x = {'disbursements': annual amounts, 'low_point': projected lowest balance, 'cushion_months', 'refund_threshold'}. total = sum; base = round_half_up(total/12); cushion = round_half_up(total*cushion_months/12); diff = low_point - cushion; shortage = max(0, -diff) is collected over 12 months rounded up; surplus = max(0, diff) is refunded when >= refund_threshold, otherwise floor(surplus/12) is credited monthly. Return {'base', 'cushion', 'shortage', 'refund', 'monthly'}.

Why this case matters

Amortization engines drive borrower statements, payoff quotes and investor remittances; a misplaced rounding step, boundary or ordering rule compounds across hundreds of periods.

One recorded failure

Sample boundary fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
regression: low point comparison{"base": 10000, "cushion": 50000, "monthly": 18334, "refund": 0, "shortage": 100000}{"base": 10000, "cushion": 50000, "monthly": 10000, "refund": 100000, "shortage": 0}Failed

MEMBER ARCHIVE

The complete case is available to members.

This record includes three runnable implementations, regression fixtures, execution results, and source hashes.

Member access is invitation-based. Sign in with your invited account to inspect the sources.

Sign in to the archive ↗