FAILURE MAP
← Case archive

FA-58592 / Loan amortization schedules / Member archive

Negative amortization cap recast: cap threshold scale · case 02

Loans recast at the first cent of negative amortization.

Member previewVariant 2 · 3 implementations · 7 checks per implementation

Case contract

x = {'principal', 'rate_bp', 'min_payment', 'cap_pct_bp' (e.g. 11000 = 110% of principal), 'months'}. Each month interest = round_half_up(balance*bp/120000); the shortfall interest - payment (if positive) is deferred; balance += interest - payment. The first time balance*10000 exceeds principal*cap_pct_bp the loan recasts once: payment = level(balance, months - k) (exact annuity, half-up). Return {'balance', 'recast_month' or None, 'deferred', 'payment'}.

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: cap threshold scale{"balance": -1, "deferred": 2000, "payment": 20640, "recast_month": 1}{"balance": 0, "deferred": 4040, "payment": 22715, "recast_month": 2}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 ↗