Moody’s AXIS and FIS Prophet are the platforms life insurers run core modeling on — reserves, pricing, cash-flow testing, block appraisals. They are proprietary; their objects are not on the public internet. I built a plugin that reads an existing dataset, writes a new one, and builds the products, funds, assumption tables, and batches a modeler would otherwise click together by hand. An actuary signs off before anything is used.
A new product, a new in-force block, or a new assumption set means weeks of a specialist working inside AXIS or Prophet: product definitions, fund mappings, mortality and lapse tables, the links that bind them, a validation batch, then a run. The sequence is known. The software is not — house standards live in shared drives and in the heads of the two people who have been on the account for a decade.
Off-the-shelf models are no help. They invent a table type that does not exist in this workspace, a fund that is not on the product, a cell the platform will not accept. Compute is not the constraint. The person who can drive the software is.
The plugin works the way a modeler works. It does not replace AXIS or Prophet — it builds the dataset those platforms already know how to run. A typed object model covers what a dataset actually contains — product, fund, table, link, batch, run, plus the workspace and version metadata that make two datasets incompatible. Every write goes through that model, so a hallucinated table type never becomes a file.
The platform’s own validation is part of the loop: the plugin asks the software whether the product is attached to a fund, whether the tables exist, whether the batch will run — and treats a rejection as input, repairing the object and trying again until the dataset is clean or it hits something it cannot resolve. House knowledge the software will not give you — vendor documentation, sample datasets, the firm’s modeling standards — is retrieved with citations, so a proposed lapse table can point at the standard it claims to implement. Nothing goes to a production run unattended: the plugin stages the dataset, the validation log, a diff against the last accepted model, and the citations, and an actuary approves, rejects, or sends it back.
The agent graph runs on LangGraph with models routed through LiteLLM: plan the dataset, write the objects through the Pydantic-typed model, validate in the live workspace, repair what the platform rejects. The read-write layer speaks the platforms’ own dataset formats — the same objects a modeler creates in the UI. The loop is measured against gold datasets in CI, with traces and cost telemetry in LangSmith, and the service runs behind FastAPI with pytest coverage on the object model and repair loop.
Python, FastAPI, LangGraph, OpenAI Agents SDK, Pydantic, LiteLLM, LangSmith, AXIS / Prophet dataset read-write, Playwright, pytest.
On one engagement — a term block, about a $250k modeling project — the dataset a specialist would have spent four weeks assembling was built overnight, for about $1,200 of model spend. The actuary reviewed it the next morning.
The same graph sits on any job that means opening AXIS or Prophet and clicking for weeks — a new product, a reprice, a block appraisal. It is on track to automate $30M of the practice’s core modeling revenue.