COBOL-era ERPs still run a surprising amount of American manufacturing and distribution. They work. They're also locked: no API, seat-limited ODBC, a data format nobody documented, and a vendor roadmap that doesn't include you.
We don't replace the ERP. We read it — clean-room, read-only, proven — and put a live modern data layer next to it.
Anyone can claim to parse COBOL files. The difference is proving it against your own system before anything depends on it.
A clean-room decoder for AcuCOBOL Vision files and other COBOL data formats, built to an ODBC-parity contract: code-page handling, empty-field semantics, COMP-3 and COMP-6 packed decimals, sign overpunch, C-string truncation, per-record framing maps. On its first ERP: all 66 record types decoded, gate clean 66/66, a 34-test fixture suite, nightly shadow campaign running.
We show up with a shadow campaign: the decoder runs beside your own live pipeline and every record is compared byte for byte. Discrepancies are adjudicated, clean streaks are tracked, and cutover waits for a written gate — not a feeling.
The trick: you already own the oracle. Your existing ODBC seat is the validator. We generate framing maps at your site, prove parity against your own system, run the campaign, then cut over.
A delta-synced Postgres mirror of the legacy ERP — all tables, deletes included, refreshed in minutes. Your dashboards, BI tools, AI agents, and integrations all read from the mirror. The ERP never feels a thing.
What "live mirror" means in numbers: ~52 curated, typed tables plus ~300 auto-discovered raw tables from one ERP; hot cycle cut from ~3 minutes to 16 seconds; a measured bulk loader at 8,500 rows per second; a 7-million-row seed in about 15 minutes; row-level security containing 218 tables of accidental exposure in one remediation. Everything downstream — dashboards, planning, AI agents — reads from here.
Reading the data is the entry ticket. These are the moves that turn a closed system into one you can actually operate through.
Every caller-to-callee edge in a closed-source AcuCOBOL ERP, mapped from the object files. We know what runs before we touch anything.
PIC clauses, signedness, keys, and copybook lineage for the entire schema — the Rosetta stone for everything downstream.
SELECT-only, bounded, explicit-column queries into a live production ERP. Writes are impossible by policy, not by promise.
Marketplace orders created inside the ERP by driving its own import programs headlessly — no screen scraping, no RPA, no vendor.
Post-create field writes into keyed records via unload, edit, reload — the index stays intact, and every write is verified against its keys.
Rewrote an intermediate work record between two ERP steps to correct customer resolution — no source change, no vendor ticket.
Traced the ERP's print path and rebuilt its invoices and pick tickets byte for byte, regression-tested against live output.
Every subsystem rated Observe / Mutate / Actuate / Comprehend — an honest map of what's automatable and what isn't, before the budget gets spent.
Same discipline, other platforms: vendor-package reverse engineering on Salesforce-based TMS systems (object inventories, relationship maps, behavior specs before a rebuild), legacy print-path and batch-job automation, and a protocol bridge that lets a 1998-era payment integration talk to Stripe without changing the ERP.
Orders from BigCommerce, Faire, and EDI created in the ERP automatically; tracking and invoices flowing back out.
MRP, scheduling, BOM validation, and shop-floor feeds reading the mirror instead of last week's export.
Every feed heartbeats; an AI monitor diagnoses failures and drafts the fix; a human clicks GO.
We never write to a live system of record until the read side is proven and the write side has run in the shadows. It's slower than a demo. It's faster than a rollback.