Goal: Full solver chain working. Tariff parity gate. Tasks: S4-T01 Schema: DebtConfig, DebtSchedule, IRRMetrics. S4-T02 debt/sizing.py: 3 constraints (D:E cap, min DSCR, avg DSCR). Take binding. Fixed-point on CFADS. S4-T03 debt/schedule.py: shapes — equal_principal, equal_installment, custom_pct_vector, balloon. S4-T04 debt/sculpting.py: DSCR-targeted sculpt. Solves principal per year = (CFADS/target_dscr) - interest. S4-T05 debt/compliance.py: routine that combines tariff and schedule reshape per user requirement. S4-T06 irr/metrics.py: project IRR, equity IRR, NPV, payback, LCOE, min/avg DSCR, LLCR, PLCR. S4-T07 solver/tariff.py: brentq with bounds [2.0, 8.0]. Inner: full pipeline run. S4-T08 scenarios/runner.py: orchestrates everything: gen → dispatch → commercial → capex → IDC → financial → debt → IRR → solve tariff. Returns ScenarioResult. S4-T09 Tests: solver convergence on known scenario. IRR math validated against numpy_financial. S4-T10 PARITY GATE: nagasamudra_inputs.json solved tariff within ₹0.01/kWh of Excel. Equity IRR within 1bp. S4-T11 CLI: remodel solve-tariff --input scenario.json --target-equity-irr 0.18. S4-T12 Documentation. Definition of Done: Full v0 engine works via CLI. Solves tariff for the reference scenario. Parity gate passed.