โšก demoโ‡„ rewrite๐Ÿ›ค journey๐Ÿ“Š assessment๐Ÿ“ˆ stats๐Ÿ–ฅ green screen๐Ÿ”ฌ console๐Ÿšง blockersโฌข served from poc-smk ยท Linux x86_64 ยท cloud VM (poc-jkdm-ai)
Pipeline statistics ยท translation confidence

What is proven, what is partial, what is not yet

Every number on this page has a source: the deterministic scanner, the MAT export, or the oracle's byte-diff. Confidence is stated the Quarry way โ€” greens are machine-verified, ambers are known gaps, reds are honest limits.

100%
pilot CBACT01C verified
P1โ†’P2โ†’P3 end to end
byte-for-byte oracle match, twice (hand port + Gemini's)
13.8%
P2 ยท already runs on Linux
3,167 of 22,904 code lines ยท 11 of 44 programs compile
measured by the GnuCOBOL compile sweep โ€” same source, new machine
1.6%
P3 ยท rewritten in PHP
358 of 22,904 code lines ยท 1 of 44 programs
the pilot โ€” plus 1 assembler module replaced and 3 inquiry screens rebuilt
100%
of translated code tested
every port must pass the oracle
50 records ยท 5,350 bytes byte-compared ยท on 2 machines (Mac + VM)
โ‰ˆ71%
whole-system confidence
P1 z/OS โ†’ P2 Linux COBOL
weighted: 8 clean batch @90% ยท 25 online @70% ยท 11 DB2/IMS @50%
โ‰ˆ66%
whole-system confidence
P2 โ†’ P3 PHP / target language
same weights โˆ’ language risk; oracle-gated

How to read this in one breath: the two "translated" numbers are different phases. P2 = 13.8%: 11 of 44 programs already compile and run on Linux with GnuCOBOL (same COBOL, no mainframe). P3 = 1.6%: 1 program (the pilot) has been fully rewritten in PHP. We tested 100% of what was rewritten (oracle byte-diff โ€” not code review), and the pilot passed completely. Scaling that evidence across all 44 programs by category difficulty puts whole-system confidence at โ‰ˆ71% for the Linux replatform and โ‰ˆ66% for the language rewrite. The pilot numbers are measurements; the whole-system numbers are projections that turn into measurements as each program passes the oracle (clean batch first, CICS screens next, DB2/IMS last).

Progress by phase โ€” where each number belongs

P1 is finished: every program was analyzed. The conversion phases (P2, P3) are at the pilot stage โ€” that is where the 1.6% lives.

P1 ยท Analysis (mainframe COBOL understood)MAT + Quarry judgments over the whole system
100%
44/44 programs ยท 46 JCL ยท 83 datasets โ€” COMPLETE
P2 ยท COBOL on Linux (replatform)same source compiled with GnuCOBOL, no mainframe
13.8%
11/44 programs compile clean (3,167 lines) ยท 1 fully run-verified ยท 25 CICS โ†’ screen-rewrite route ยท 5 โ†’ DB port ยท 3 copybook fixes
P3 ยท PHP rewrite (target language)AI-translated, only counts after passing the oracle
1.6%
1/44 programs โ€” two ports (hand + Gemini), both byte-verified

The translation factory โ€” watch the process

A replay of the measured pipeline over all 44 programs: each one is analyzed, then attempts the Linux compile, and lands on its real, measured status โ€” nothing is painted green that did not actually pass. Press replay during a demo.

verified end-to-end compiles on Linux copybook fix needed CICS โ†’ screen rewrite IMS/DB2 โ†’ database port

The whole system โ€” everything scanned

From the deterministic scan + MAT assessment of CardDemo.

44
COBOL programsdeterministic scan
22,904
code linesscanner-counted
65
copybooks
46
JCL jobs
83
datasetsMAT-inferred
44/44
judgment coverageQuarry LLM 5 + MAT 44

Translation verification

The oracle: same input into the COBOL and the PHP port, outputs byte-compared.

2/2
ports pass oraclehand-written + Gemini
50
records compared
5,350
bytes comparedper side, per run
100%
byte equivalenceOUT-FILE, both ports
1
asm module replacedCOBDATFT โ†’ COBOL
2
runtimes provenmacOS arm64 + VM x86_64

Confidence โ€” stated honestly

โœ“
Output equivalence โ€” proven

Oracle byte-diff: COBOL OUT-FILE vs PHP port = identical, 50 records / 5,350 bytes, zero differing bytes. Holds for the hand port and for Gemini's clean-room port.

โœ“
Hidden business rule carried

The 2525.00 zero-cycle-debit quirk was reproduced by both ports; Gemini discovered it from the COBOL source alone (it was never mentioned in the prompt).

โœ“
Binary encodings correct

Zoned decimal (sign overpunch) and COMP-3 packed decimal produced byte-identical results โ€” verified by the same diff, not by inspection.

โœ“
Portable across machines

Same GnuCOBOL binary output verified on macOS arm64 and on the cloud VM poc-smk (Linux x86_64).

โ—
Data coverage is partial

The 50 sample accounts contain only positive balances โ€” the negative-sign encoding path is written but has never been exercised by the oracle. Seed negative-balance records before claiming it.

โ—
Only OUT-FILE is compared

CBACT01C also writes ARRYFILE and VBRCFILE and prints DISPLAY output; those are produced but not yet oracle-compared.

โœ—
Scale: 1 of 44 programs

One batch program (CBACT01C) has completed the full pipeline. 43 programs remain, including CICS online programs that need a different runtime strategy.

โœ—
First Gemini run was invalid โ€” and was caught

Gemini initially read the reference port from the repo workspace (verbatim comments). Flagged, quarantined, re-run in an empty sandbox. The clean run is the one reported.

The 12-step pipeline โ€” where each step stands

1
Import flat file into MATphase1-legacy zip, 1.4 MB
DONE
2
MAT analyzes apps & DB44 programs ยท 46 JCL ยท 83 datasets, Gemini narratives
DONE
3
Push into Quarryingest-mat.py โ†’ judgment coverage 5/44 โ†’ 44/44
DONE
4
Convert to COBOL without mainframeCBACT01C on GnuCOBOL; asm COBDATFT replaced with portable COBOL
DONE
5
AI does the conversionGemini CLI (Vertex, headless) wrote the PHP port in a clean sandbox
DONE
6
Code โ†’ repo โ†’ GitLabrepo wiring not started
TODO
7
Deploy P2 to serverruns on poc-smk (Linux x86_64) and locally; web demo on :8080
DONE
8
Test; issues reportedoracle byte-diff live in the demo; GitLab issue logging not wired
PARTIAL
9
Fixed by AIself-repair loop implemented in gemini_translate.py (crash fed back)
PARTIAL
10
RedeployCI loop not wired
TODO
11
Convert to PHPtwo ports, both oracle-verified
DONE
12
Repeat for remaining programs43 programs to go
TODO