LegacyLift
Modernise legacy systems. Prove nothing broke.
LegacyLift turns decades-old code into modern, tested software. It learns every business rule, migrates one piece at a time with a person approving each change, and proves the new system behaves exactly like the old one.
It began as a 5-day build at the UK AI Agent Hackathon × Conduct AI, Imperial College London.
Most migrations start with guesswork and end with a leap of faith. LegacyLift replaces both.
Rewriting old code is the easy part. Doing it without losing the rules, without a risky cutover, and with proof it still works. That is what a serious migration actually needs.
Generic translators convert syntax and quietly lose the intent. LegacyLift carries every rule across (fees, eligibility, the awkward edge cases), each traced back to the decision that set it.
Late-payment fee: cap at £25Finance
set in 2019 · regulatory cap · carried across unchanged
Understand it. Migrate it. Prove it.
Product demo · sample programs ACCTINT and FEECALC
See what the old code actually does.
LegacyLift reads the source, extracts the business rules buried inside, and maps how everything connects, so nothing important is lost in translation.
- Parses COBOL, Java and VB6
- Business rules with source citations
- Risk-scores every unit
Codebase map: ACCTINT
- callsINTCALC
- callsDATEUTIL
- readsACCTREC
Business rules found
- Interest tiers by balance bandFinance
- Senior bonus over age 65Finance
- Dormant after 12 months inactiveOps
Rewrite it, with a human in control.
Modern code, generated one piece at a time and reviewed old versus new. A person approves every change before it ships. Nothing merges on trust.
No big-bang cutover, no black box. The work stops at every piece for a person to approve, edit, or reject. You stay in control of your own system.
- Migrates chunk by chunk
- A human approval gate on every merge
Review: FEECALC.CBL
A person approves, edits or rejects every change.
every change · no exceptions
Legacy · COBOL 0000-MAIN.MOVE 0 TO LK-FEE.IF ACCT-TYPE = 'S'GOBACK.PERFORM 2000-FEE.Migrated · Python def main_0000(rec):lk_fee = Decimal("0.00")if rec.acct_type == "S":return lk_feelk_fee = fee_2000(rec)Prove the new system still behaves.
The rewrite is replayed against the real behaviour of the old system and compared field by field.
Every chunk passes
- Static analysis
- Adversarial AI review
- Generated tests that execute
Legacy
Migrated
Fidelity Replay: Replay ACCTINT.cbl against the legacy reference. Every vector matches, a difference of 0.00. Vector Account type Legacy = Migrated Δ ACC001 standard 1,201.50 0.00 ACC004 senior tier 5,006.25 0.00 ACC005 dormant 790.00 0.00 ACC007 premium 25,041.67 0.00 ACC010 closed 0.00 0.00
Fidelity Replay.
A differential verification engine proving behavioural equivalence before migrated code ships.
Fidelity Replay shows the new system behaves exactly like the old, field by field, and signs the result. Something you can hand to risk and audit that actually holds up.
- byte-exact
- behaviour comparison, no fudge
- signed
- attestation on every result
- 5 gates
- Value · Sequence · Store · Determinism · Attested
Proof, not promises.
The result is sealed with a signed record your risk team can verify. Something you can hand to risk and audit that actually holds up.
100.0%
behavioural equivalence
signed ed25519
- Value
- Sequence
- Store
- Determinism
- Attested
Independent, reproducible, and signed. Ready for risk and audit.
Replay can teach the migrator, or certify the result. Never both in the same lineage.
The Independence Rule. A validator that grades a rewrite against the same data that produced it is marking its own homework. LegacyLift keeps the two apart, so a passing score means something to your model-risk team and to an auditor.
Built for banks, government, and the systems that can’t go down.
Sandboxed execution
zero network egress
Independent proof
held out from training
Signed & reproducible
Ed25519, verifiable
Human-approved
every change
It found the bug nobody would notice.
COBOL silently cuts off numbers that overflow their field. A modern rewrite doesn’t, so the new system quietly returns different numbers. On a real COBOL program, LegacyLift caught exactly that, before it shipped.
- functions
- 116
- business rules
- 49
Your source stays yours.
Bring your own key. Client source never touches LegacyLift infrastructure.