{"ok": true, "schema": "wingman-financial-planner-schema.v2", "version": "0.2.0", "input_fields": ["income_sources", "expenses", "assets", "liabilities", "currency", "savings_rate_target", "emergency_fund_target_months", "notes"], "income_source_fields": ["label", "amount_monthly", "frequency", "stable"], "expense_fields": ["label", "amount_monthly", "category", "recurring"], "asset_fields": ["label", "value", "liquidity", "note"], "liability_fields": ["label", "balance", "monthly_payment", "interest_rate", "type"], "categories": ["fixed", "variable", "debt", "discretionary", "other"], "liquidity_types": ["liquid", "semi_liquid", "illiquid"], "liability_types": ["credit_card", "loan", "mortgage", "tax", "other"], "frequencies": ["monthly", "weekly", "biweekly", "annual", "yearly"], "debt_to_income_definition": "monthly_debt_service / gross_monthly_income", "debt_balance_metric": "total_debt / annualized_gross_income", "emergency_fund_liquidity": "liquid_only", "debt_payment_contract": "liability.monthly_payment is included in cash flow; same-label debt expense is deduplicated", "input_contract": {"amounts_minimum": 0, "interest_rate_range": [0, 1], "emergency_fund_target_months_range": [1, 24], "rejects_non_finite": true, "rejects_unknown_enums": true, "max_items_per_section": 200}, "output_contract": {"ready_status": "ready", "empty_input_status": "insufficient_data", "empty_input_normal_plan_paused": true, "invalid_input_http_status": 400}}