{"model":"student-loan-payoff","specVersion":"1.0.0","specUrl":"/api/v1/models/student-loan-payoff/spec","inputs":{"loanBalance":{"kind":"float","min":1000,"max":200000},"interestRate":{"kind":"float","min":0.01,"max":0.15},"minimumPayment":{"kind":"float","min":50,"max":3000},"extraPayment":{"kind":"float","min":0,"max":2000},"investmentReturn":{"kind":"float","min":0.02,"max":0.15},"taxDeductionRate":{"kind":"float","min":0.1,"max":0.37}},"arrayInputs":{},"constraints":["investmentReturn must stay > 0 (NaN at 0)"],"sentinels":[{"field":"payoffMonthsAggressive","value":600,"meaning":"loan not paid off within the 600-month cap"},{"field":"payoffMonthsMinimum","value":600,"meaning":"loan not paid off within the 600-month cap"}],"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."}