{"model":"emergency-fund","specVersion":"1.0.0","specUrl":"/api/v1/models/emergency-fund/spec","inputs":{"monthlyExpenses":{"kind":"float","min":500,"max":20000},"targetMonths":{"kind":"int","min":1,"max":12},"currentSavings":{"kind":"float","min":0,"max":100000},"monthlySavings":{"kind":"float","min":50,"max":5000},"savingsAccountRate":{"kind":"float","min":0.01,"max":0.08}},"arrayInputs":{},"constraints":[],"sentinels":[{"field":"monthsToGoal","value":240,"meaning":"goal not reached within 240 months (yearsToGoal = 20 is the never-sentinel in years)"}],"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."}