# Engineering Lab — Genyra

> Legacy system migration evidence: three COBOL applications replaced by verified Rust reconstructions, and a native Rust desktop measured against its original.

Canonical page: https://genyra.com/engineering/lab

Explore the engineering behind Genyra. From reconstructing legacy business systems to developing native applications, our published work demonstrates the methods, implementations and verifiable results behind our technology.

## Engineering you can inspect. Results you can reproduce.

A service page can only describe what a company does. The Lab shows it. Each project here is a public repository under Genyra's GitHub organisation: an existing open-source application, independently re-engineered by Genyra, with the original kept intact and attributed, and a comparison harness that anyone can run.

The four projects are examples of disciplines, not the limits of the practice. Three are legacy reconstructions, because that is where exactness matters most and is hardest to prove. One is a native application with measured resource use. Evidence on this page was reviewed on 4 November 2026; the repositories remain the source of truth.

## Inside a legacy modernisation.

Legacy Ledger & Payroll is the flagship case. Thirteen COBOL programs, a six-node banking simulation and a payroll pipeline, reconstructed in Rust and run side by side with the originals on the same inputs under a fixed clock. After every step, every file is compared as bytes. There is no tolerance to hide behind.

What the comparison protects is behaviour: the scale of every amount, the rounding of every last cent, the layout of every record and the order of every journal. What it exposes is also behaviour, including the original's documented defects, which are preserved and listed rather than silently corrected.

## Software archaeology, as practised.

Before anything is rebuilt, the original is read. Business rules, source, copybooks, record layouts, interfaces, numerical behaviour and operational workflows are recovered and written down. In each Lab project that reading became a conversion report that states what was found, what was kept, what was changed and why.

The method is visible in the small things. A ROUNDED phrase on one COMPUTE decides cents on every account. A booking screen that reads one variable and searches another is a real input sequence the harness must reproduce. A floating-point COMP-2 stack means a modern decimal result can be more correct and still differ.

- Pinned upstream revisions with SHA-256 checks before every comparison.
- Conversion reports that separate retained quirks from intentional changes.
- Observation-only instrumentation of the original, never a patched rule.
- Proof bounded to the stated corpus, compiler and scope.

## Rebuilding an interconnected business application.

Hotel Operations is a 3,067-line COBOL simulator with eight operating areas that depend on one another: a reservation changes a room, a check-in changes a stay, a service changes an invoice, a checkout changes loyalty. Genyra rebuilt it as native Rust with a JSON command interface and persistent state, then compared every active table record with the original across 155 scenarios.

The point is not the hotel. It is that modernisation means understanding the relationships between processes, records and calculations, and proving that they still hold.

## Numerical correctness, tested two ways.

COBCALC is deliberately small: a COBOL expression evaluator. It is here because it isolates a question every financial migration must answer. The original computes in binary floating point. The Rust reconstruction computes in explicit decimal with a stated precision and rounding rule. So the Lab tests it twice, and never mixes the results: exactly against an independent decimal reference, and within a stated tolerance against the running original.

## Architecture makes the difference.

Genyra Snitch takes the practice from legacy business systems into modern application architecture: operating-system integration, network capture and a native desktop. The Python collector was replaced with Rust; the Electron interface is being replaced with a native Rust desktop. Both were measured against the original for five minutes on Linux, with every process counted.

The figures are large and they are qualified. They describe resource consumption under the documented conditions, not equal functionality, equal rendering cadence or a universal speed-up. The exhibit shows the conditions and the limits beside the numbers.

## How we verify.

Each result belongs to its stated source revision, corpus and comparison method, and the Lab names the method every time a figure appears. These are different standards and they are never added together.

- Exact byte-for-byte comparison: files or table records compared as raw bytes with no normalised fields and no monetary tolerance.
- Exact-decimal reference testing: results compared as decimals against an independent implementation, with zero tolerance.
- Tolerance-based numerical compatibility: agreement with a floating-point original within a stated bound. Compatibility, not equality.
- Functional and synthetic tests: native unit, workflow and service-lifecycle tests, which prove the code paths they cover.
- Real runtime measurement: sampled CPU and memory under documented conditions, with the conditions published.
- CI build success and experimental platform support: that a build passes on a platform, which does not establish feature parity there.

## Explore the source.

Every repository keeps the original author's code, licence and attribution, pins the upstream revision it was built from, publishes its verification results as machine-readable files and runs the same verification in GitHub Actions. The links on each project page go to the code, the evidence file, the conversion or benchmark report and the latest workflow run.

## Work with Genyra.

A company looking to modernise a legacy application should leave this page understanding that Genyra can investigate the existing system and build a testable modern replacement. A company considering native development should understand that Genyra can redesign an application's architecture, build native interfaces and measure the result. The first conversation establishes what is known, what must be proven and what a useful result would be.

## Questions we are asked

**Are these real client projects?** No. They are independent open-source forks published by Genyra as engineering demonstrations. Each one re-engineers an existing open-source application whose original author and licence are retained. No client work is shown in the Lab.

**What does "verified byte for byte" mean here?** After each step of a deterministic run, every output file or table record of the reconstruction is compared with the running original as raw bytes. No fields are normalised or removed, and there is no monetary tolerance. The count of comparisons and the failures, zero in the published runs, are recorded in a verification file in the repository.

**Can I run the verification myself?** Yes. Each repository has a make verify target that checks the pinned original's hash, compiles and runs it alongside the Rust implementation and regenerates the evidence. The COBOL projects need a current Rust toolchain, Python 3.10 or later and GnuCOBOL. GitHub Actions runs the same job on every push.

**Does the 96.87% lower CPU figure mean Genyra Snitch is 32 times faster?** No. It means the native application consumed 96.87% less CPU time than the original during a documented five-minute Linux measurement with different capture configurations and incomplete feature parity. Lower resource use is not the same as higher throughput, higher frame rates or equal functionality, and the report says so.

**Do you modernise COBOL to Rust for clients, or only to Java?** The target language is chosen for the system, not by habit. The Lab shows Rust reconstructions because exact decimal arithmetic, record-level control and a dependency-free runtime make the proof clean. A client engagement starts with the existing system, its records and its numerical contract, and the target follows from those.

## Related work

- [Legacy system modernisation](https://genyra.com/solutions/legacy-modernisation): Legacy modernization services: COBOL and mainframe application modernization to native software, not a conversion to the JVM estate that is now the next legacy.
- [Software archaeology](https://genyra.com/solutions/software-archaeology): Legacy code analysis: recover the architecture, dependencies, data flows and business rules inside COBOL, mainframe and Java systems nobody can fully explain.
- [Native application development](https://genyra.com/software/native-applications): Native application development services: what a native app is, when it beats a web app, and how Genyra builds desktop applications for the operating system.
- [Performance engineering](https://genyra.com/solutions/performance-engineering): Application performance engineering: measure the real path, find the constraint in code, data or infrastructure, fix it and prove the change with evidence.

Contact: contact@genyra.com

Genyra LLC and the Dubai business Genyra L.L.C-FZ / Genyra.ai are distinct entities. Project scope and the contracting entity are agreed explicitly.
