Situation
A US personal-lines carrier had committed to retiring a PL/I + IMS-DB rating engine, but no one could produce a complete list of the rules it executed — they lived as 100+ hardcoded procedures over IMS-DB lookups, authored over two decades by actuaries who had since rotated out.
Task
I owned the business-logic analysis track on the re-platform — Sr Engineer IC accountable for translating those rules into Ratabase semantics, with no SME consolidated owner and no authoritative spec.
Action
The obvious move — request a spec, wait for one, escalate when it doesn't arrive — would have killed the project on the same rock every mainframe re-platform dies on. I made a different call: stop asking for the spec and produce it, one rule at a time, in pairs with whichever actuary owned that line of business. I sat next to the SME, read the PL/I together, expressed the same decision tree in Ratabase, and ran both engines side-by-side on a curated policy set until they reconciled cent-for-cent. Each rule got signed off by the actuary and switched independently — Ratabase became the source of truth for that rule while the mainframe kept executing the others nearby. The rule set lived half on each side for years. That was fine, because the contract — given these inputs, return this premium — never moved.
Result
100+ rating algorithms translated and switched without a write freeze. Individual re-rate cycles triggered by errors found during reconciliation returned several-hundred-thousand-dollar customer refunds — proof the new engine was load-bearing on real money, not just paper-correct.
The lesson I took: ambiguity at this scale isn't waiting for a missing artifact. It's the absence of anyone whose job is to produce it. You either appoint yourself, or you wait forever.