Modernize — move off COBOL safely

Modernize moves a legacy codebase off the mainframe in tracked, reversible stages instead of a big-bang rewrite.

Why it exists: mainframe-rewrite projects fail because there's no safety net — nobody fully understands the code, nothing proves the replacement behaves the same, and there's no clean way back when production breaks at 2am. Modernize attacks exactly that.

How it's organized (/modernize):
• Codebases — register each legacy codebase (COBOL, PL/I, RPG, Assembler, Natural/ADABAS, FORTRAN, Other) and pick a target strategy (Java, Go, Python, C#, TypeScript, or an in-place COBOL refactor to stay on the mainframe).
• Programs — the migration board. Each program, copybook, JCL, CICS, or proc becomes a migration unit moving through a gated lifecycle.
• Parallel Runs — equivalence sessions that prove the new code matches the old.
• Ledger — a hash-chained, signed audit log of every change.
• Risk — a dashboard of % modernized, danger units, and a cost forecast.

The gates are enforced, not advisory — a unit physically cannot be translated until it's been characterized, because you never change code that has no safety net. See "The migration lifecycle" for the stages, and "Characterization & parallel runs" for how equivalence is proven.

Wally rides along: ask what's left to modernize, what a program does, or how much the rest will cost, and it answers from the live migration state.