{"model":"loan-comparison","specVersion":"1.0.0","specUrl":"/api/v1/models/loan-comparison/spec","inputs":{"loanAmount":{"kind":"float","min":1000,"max":2000000},"annualRateA":{"kind":"float","min":0,"max":0.3},"termMonthsA":{"kind":"int","min":6,"max":480},"feesA":{"kind":"float","min":0,"max":20000},"annualRateB":{"kind":"float","min":0,"max":0.3},"termMonthsB":{"kind":"int","min":6,"max":480},"feesB":{"kind":"float","min":0,"max":20000}},"arrayInputs":{},"constraints":["Costs are lifetime nominal dollars (interest + fees), undiscounted. Comparing offers with different terms ignores time value and payment duration — a longer loan's lower nominal total can still be worse in present-value terms."],"sentinels":[],"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."}