Page actions
instrument mechanism / verified-clean
Credit Card Payoff Planner mechanism
The inspectable method record for Credit Card Payoff Planner, kept separate from implementation and qualification.
Model scope
The underlying standard amortization mathematics is valid under the stated assumptions, but the instrument specification is incomplete. It needs explicit recurrence, rate convention, payment timing, target-payment formula, zero-rate handling, impossible-payoff handling, rounding policy, and a precise definition of months to payoff before it can receive PASS.
- The specification says “same recurrence as amortization” but does not state the recurrence explicitly, including whether payments occur at the end or beginning of each month.
- The formula for solving payoff time n given balance, APR, and payment is not written explicitly.
- The formula for solving the required payment given a target number of months is omitted.
- The specification does not define whether “months to payoff” means the fractional analytical result or the integer number of scheduled payments after rounding up.
- The specification does not define how the final partial payment and total interest are calculated when the analytical payoff time is fractional.
Units and conventions
- APR is a nominal annual percentage rate compounded monthly, so the monthly rate is r = APR/12; APR must be supplied as a decimal or explicitly converted from percent.
- Payments are assumed to occur at the end of each month.
- For fixed-payment payoff, the balance recurrence is B_(k+1) = B_k(1+r) - P.
- For r > 0 and P > rB, the analytical payoff time is n = ln(P/(P-rB)) / ln(1+r).
- For a target of N months and r > 0, the required payment is P = Br(1+r)^N / ((1+r)^N - 1).
- For APR = 0, payoff time is B/P and target-month payment is B/N.
Inspectable vector
One of 4 source-bound review vectors:
{
"inputs": {
"balance": 1000,
"apr": 0.12,
"monthly_payment": 100
},
"expected_outputs": {
"analytical_months_to_payoff": 10.5886,
"scheduled_months_to_payoff": 11,
"total_interest": 58.9849,
"min_payment_trap_warning": false
},
"working": "Monthly rate: r = 0.12/12 = 0.01. Interest accrued each month initially: 1000 x 0.01 = 10, so P = 100 > 10. Analytical months: n = ln(100/(100 - 0.01 x 1000)) / ln(1.01) = ln(100/90) / ln(1.01) = 0.1053605/0.00995033 = 10.5886. After 10 full payments: B10 = 1000(1.01)^10 - 100[((1.01)^10 - 1)/0.01] = 58.4009. Final payment after one more month of interest: 58.4009 x 1.01 = 58.9849. Total paid = 10 x 100 + 58.9849 = 1058.9849. Total interest = 1058.9849 - 1000 = 58.9849."
}Failure boundary
BREAK_CLAIMED · SELF_FLAGGED
The literal logarithmic payoff formula breaks at APR = 0 through a 0/0 expression, and the under-minimum-payment branch produces no finite payoff. The specification also leaves APR convention ambiguous, allowing materially different results.
Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche4/tranche4-results.jsonBOUNDARY_HAZARD_CATALOG.json