{"model":"points-break-even","specVersion":"1.0.0","specUrl":"/api/v1/models/points-break-even/spec","inputs":{"loanAmount":{"kind":"float","min":10000,"max":2000000},"termMonths":{"kind":"int","min":60,"max":480},"baseRate":{"kind":"float","min":0.005,"max":0.15},"reducedRate":{"kind":"float","min":0.001,"max":0.15},"pointsPct":{"kind":"float","min":0,"max":0.05}},"arrayInputs":{},"constraints":[],"sentinels":[{"field":"breakEvenMonths","value":"Infinity","meaning":"paid points never break even (monthlySavings ≤ 0, including reducedRate ≥ baseRate); free points that save nothing break even at 0"}],"facts":[],"disclaimer":"Illustrative planning model, not financial advice. Outputs follow the published model spec exactly; read the spec for assumptions and exclusions before relying on any number."}