What problem does it solve? Actuaries need to stress-test projection models against mortality, lapse, interest rate, and expense shocks without rewriting the model each time, while keeping a reproducible audit trail for governance. ## Core Features & Use Cases - Typed scenario plans: Build a ScenarioRun with shock recipes (MultiplicativeShock, AdditiveShock, FilteredShock, TimeConditionalShock, PipelineShock) and mergeable aggregators, keeping model.py unchanged via the assumptions_override contract. - Progressive analysis levels: Interest rate comparisons, parameter shocks, conditional shocks, 1D/2D sensitivity sweeps, and named regulatory stress scenarios. - Audit and reporting: Every run produces a plan SHA, a JSON audit sidecar, and a report/report.md with results tables, Altair charts, and key findings. - Use Case: Given a working gaspatchio projection model, run a Solvency II lapse stress (×1.5 clipped at 1.0) plus a mortality +20% shock, then produce a tornado chart and a report with the plan SHA pinned for regulatory evidence. ## Quick Start Ask the assistant to run a mortality up 20% and lapse down 20% scenario analysis on your gaspatchio model and produce the report with charts and audit chain.