{"model":"refinance","specVersion":"1.0.0","specUrl":"/api/v1/models/refinance/spec","inputs":{"currentBalance":{"kind":"float","min":50000,"max":1500000},"currentRate":{"kind":"float","min":0.02,"max":0.12},"currentRemainingMonths":{"kind":"int","min":12,"max":360},"newRate":{"kind":"float","min":0.02,"max":0.12},"newTermMonths":{"kind":"int","min":120,"max":360},"closingCosts":{"kind":"float","min":0,"max":20000},"monthsUntilMove":{"kind":"int","min":12,"max":360}},"arrayInputs":{},"constraints":[],"sentinels":[{"field":"breakEvenMonths","value":"Infinity","meaning":"never breaks even (monthlySavings ≤ 0; exported as the string \"Infinity\")"}],"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."}