Stress-tested, not just demoed

We fed it a real 2,131-program legacy estate. It found a bug in itself.

Our public demo (CardDemo) is 44 programs — a clean, well-behaved AWS reference app. Real mid-tier bank and insurer estates aren't clean. They're decades old, thousands of programs, full of copy-pasted code nobody's touched since the author retired. So we went and found one of those to test against — and used it honestly, warts and all.

The corpus

A real, 27-year-old production system — not another curated demo

kello — Kello Imagens Business Operations Management System

A real Brazilian business/financial system (checks, payments, accounting) built 1998–2004, later archived as open source under GPL-3.0 by its author. No relation to MainframeLore or any customer — we picked it specifically because it's public, properly licensed, and nothing like our own tidy demo corpus.

github.com/paulohl/kello →

2,131
COBOL programs
3,879
Copybooks
12,499
Total files in export
48x
Size of our public demo

The run

Full structural pipeline, zero LLM cost, under 5 minutes

StageTimeResult
Ingest & classify4m 21s12,499 files classified — including ~6,500 compiled binaries/listings mixed into the export, correctly filtered as noise, zero crashes
Doc + flowchart generation~20s2,131 program pages, structural facts only (no AI calls)
Q&A indexing5.8s65,569 searchable chunks with citations

Ran on a laptop. No mainframe access, no upload to us required to reproduce — same pipeline that runs on every estate we're handed.

The dependency map

One copybook touches 460 of 2,131 programs

kello has no JCL — it's a Windows/Micro Focus shop, not classic mainframe batch — so there's no job-level estate map like CardDemo's. What it has instead is copybook fan-out most estates only discover the hard way: change one shared field definition and hundreds of programs are affected. This is the real, unfiltered dependency graph — top copybooks ranked by how many programs COPY them.

DSLANG460 programs
IMPRESSORA331 programs
CONDENSA206 programs
DESCONDENSA205 programs
CGPW001158 programs
CGPX001158 programs
LOGACESS139 programs
CAPW001130 programs

591 distinct copybooks referenced · 32,632 COPY relationships total · 402 copybooks shared by 3+ programs

What we found

The honest part

FIRST RUN

628 of 2,131 programs got documented. The rest vanished silently.

Real legacy shops copy-paste a template file and never update the internal PROGRAM-ID. In this estate, 39 completely different source files — different logic, different purpose — all declared PROGRAM-ID. GALHOCOD050. Our doc generator keyed each output page by that name. Every duplicate silently overwrote the last. No error, no warning — just missing documentation for 70% of a real estate.

THE FIX

Every physical file gets its own page, always.

Pages are now keyed by the actual file, not the name it happens to claim. When two files collide on the same PROGRAM-ID, both get documented (NAME, NAME~2, ...) with a visible banner explaining the collision instead of hiding it. Re-ran the same estate: 2,131 of 2,131 programs documented.

Why we're posting this instead of hiding it

A tool that claims to document "undocumented mainframes" and then silently drops 70% of a messy real estate isn't safe to sell. We'd rather find that on a public GPL repo before a client finds it on their own source. Parsed, not guessed — including about our own bugs.

Verify it yourself

Don't take our word for any of this

1. Check the PROGRAM-ID collision directly

Three unrelated files, same declared program name — open them on GitHub, no sign-in needed. Line 2 of each says PROGRAM-ID. GALHOCOD050.

galhoCOD002.cbl · galhoRED101.cbl · galhoCOD050.cbl

2. Run the actual parser on that exact code

Copy either file's source from GitHub, paste it into our live parser — same engine that produced every number on this page, runs entirely in your browser, nothing uploaded — and watch it extract the structure itself.

Open the live parser →

3. Check the corpus itself

The full 2,131-program estate is public and unmodified — github.com/paulohl/kello, GPL-3.0, archived by its own author. Count the files, read the code, form your own opinion.

See the structural parser for yourself

Paste your own COBOL → Read the security page