EigenForge AI Labs Talk to us

Blog

Proving the target equals the source

Every platform migration ends at the same uncomfortable moment: someone has to say the new system matches the old. That sentence is usually backed by samples and optimism. It can be backed by a full comparison, on live data, instead.

← All articles

2026-10-05 · EigenForge AI Labs

Every migration programme — ERP, core banking, policy administration, a CRM estate, a mainframe workload — converges on the same task. Before cutover, and during parallel running, someone must prove that the target system equals the source. Not approximately, not on two hundred sampled accounts, but in full: every record, every balance, every derived figure the business will be held to afterwards.

It is the least glamorous work in the programme and the part everyone remembers when it goes wrong.

How it is usually done

Extracts. A team pulls samples from both systems into spreadsheets, reconciles what it can, documents the differences it finds, and signs off on the rest. The sample is small because the work is manual, and it is manual because the two systems were never designed to be queried together — which is, not coincidentally, the problem this whole site is about.

Two things follow. The coverage is a fraction of the estate, so the defects that matter are the ones the sample did not touch. And the comparison is stale the moment it finishes, because both systems kept moving while the spreadsheet was open.

Legacy estateLegacy ERP, mainframe, bespoke. Decadesof history and exceptions.Read in place, unchangedOne query across bothBalances, documents, master data andvolumes reconciled side by side on livedata, not sampled extracts.No write-back to either systemTarget estateNew platform, new codes, new logic.Loaded progressively by wave.Read in place, unchangedDuring the programmeContinuous reconciliation, not compressed cutover checksExceptions surfaced by wave, with time to resolveParallel running evidenced for programme governanceAfter go-liveLegacy history accessible without keeping the legacy systemEarlier decommissioning and the licence savingsThe governed layer becomes the analytics layer
Exhibit 01Both estates read in place; one query across both, on live data.

The same question, asked of both systems live

The alternative is to read both estates in place — the legacy and the target, side by side, read-only — and ask the same question of both, continuously, during parallel running. Every account, not a sample. Today's data, not last week's extract. The differences surface as an exception list: this record migrated with a rounding difference, this balance depends on a derivation the target implements differently, these four hundred records have not arrived at all.

Each exception carries its evidence, so the conversation with the migration team is about specific records and specific rules, not about whose spreadsheet is newer.

What you keep when the programme ends

The comparison is not throwaway. The connections, the entity definitions and the reconciliation rules built for the migration are the foundation of a governed data layer over both estates — which matters, because most organisations do not switch the legacy off at cutover. They run both, sometimes for years. The assurance apparatus becomes the operating picture of the estate the business actually has.

And the record of the proof itself — what was compared, what differed, what was accepted and by whom — is retained and re-runnable. When the regulator or the auditor asks, a year later, how the bank knew the migration was correct, the answer is a query, not an archaeology project.

migrationuse case

Disagree with this?

These are written to be argued with. If you think this is wrong, we would rather hear it than not.

hello@eigenforgelabs.ai

Send opens your email client with the note already addressed to us — nothing is stored on this site, and the message goes from your own mailbox, so our reply lands in yours.