Skip to content

Epic: Legacy Mainframe Modernization #2516

Closed

Description

@squid-protocol

Overview

Tracking epic for GitGalaxy's mainframe legacy-modernization initiative: hardening the engine's existing COBOL/JCL structural-signature extraction (especially CICS coverage) and adding first-class support for the rest of the mainframe language family needed for full CICS-platform visibility (BMS, HLASM, REXX, PL/I, DB2 SQL/SQL PL).

No epic previously tracked this as one initiative -- the legacy-modernization label existed but child issues were scattered and inconsistently tagged. This gives the initiative one home going forward.

Language additions (new mainframe-family parsers)

Note: #1142 (PL/I signatures, parented under the aerospace epic #75) overlaps with #2502 -- both add a pli profile with different signature-key emphasis. Cross-referenced on both issues; needs a human decision on consolidation before either is picked up, so they don't ship as two independent, conflicting implementations.

CICS/JCL extraction hardening (existing cobol/jcl profiles)

Related, already-resolved groundwork

Prior extraction-hardening and bug-fix work that shaped the current cobol/jcl baseline this epic builds on: #259, #292, #501, #590, #776, #850, #854, #1142, #1858, #1890, #1891, #1892, #1949, #1975, #2480. See the legacy-modernization label for the current full set.

Scope note

Not every cobol/jcl-adjacent bug belongs here -- structural-extraction bugs shared across many languages (Mode A/B slicing, ReDoS bounding, etc.) that happen to touch cobol/jcl incidentally are tracked under the general extraction-hardening epic (#813) instead, even when a fix ships alongside this work.

Activity

  1. added
    epicLarge-scale architectural milestone or multi-issue initiative
    core-engineModifications to the central physics and parsing engine
    legacy-modernizationCOBOL refractor, dead-code extraction, and JCL forging
    on Aug 30, 2026
  2. squid-protocol commented on Sep 14, 2026

    @squid-protocol
    OwnerAuthor

    #2990 (COBOL/JCL semantic-coverage assessment) shipped as PR #3006.

    A block-level EXEC CICS/SQL/DLI census over the crucible found the uncovered surface was much broader
    than the issue's original 7 rows (ASKTIME+FORMATTIME 119 occurrences, named counters 112,
    DFHRESP( 393, SYNCPOINT 29, etc.), all now owned. Highlights: the Async API (RUN TRANSID/
    FETCH CHILD|ANY) now feeds concurrency — a modern async CICS app no longer scores zero;
    unit-of-work control and the DFHRESP(/SQLCODE error-check idiom now feed safety; three real
    mis-attributions were caught and fixed (a bare CANCEL/START/FREE firing on the wrong CICS option
    forms). JCL needed no rule change — the sibling pass confirmed full coverage.

    Committed a reusable harness (tests/tools/embedded_verb_coverage.py) so a future gap is a diff against
    a table, not archaeology, per the issue's own ask.

    Five follow-ups filed rather than folded in: language-crucible#26 (pin the CICS-async sample repos this
    PR's census needed a scratch clone for), gitgalaxy#3002 (JCL in-stream payload grammar),
    gitgalaxy#3003 (idiom-wrapper tracking — the curl curlx evidence from the issue's own follow-up
    comment; checked and doesn't reproduce in COBOL today, but the engine-design question is real),
    gitgalaxy#3004 (COBOL's auth surface has no base-schema owner), and gitgalaxy#3005 (an unrelated,
    pre-existing ~8480-diff golden-master environment drift found while blessing this PR — filed rather
    than silently absorbed).

  3. squid-protocol commented on Sep 17, 2026

    @squid-protocol
    OwnerAuthor

    Closing the epic: every tracked child is done, and the mainframe language family the initiative set out to cover is fully first-class in the engine.

    Language additions — all five shipped

    Each addition landed as a paired engine + keyword-rosetta control-corpus PR (rosetta #123…#138 series), with a strict adversarial suite, both golden-crucible environments regenerated with every diff explained, and its rule absences validated in the corpus deviation ledger.

    CICS/JCL hardening — all five shipped

    #2482, #2483 (jcl args continuation/over-counting), #2484, #2485 (cobol CICS channels/containers, advanced queuing + exceptions), #2486 (jcl CICS utility execution). The CICS command-level vocabulary is now counted identically across all three host languages (cobol/pli/hlasm, #2990's parity rule).

    Where the record lives

    Everything under this initiative is findable by the legacy-modernization label and the "Legacy Modernization" milestone (this epic, all children above, and the follow-up work). Per-language coverage snapshots: docs/language_status/{cobol,jcl,bms,pli,db2_sql,hlasm,rexx}.md. Cross-language measurement consistency: keyword-rosetta's bias report (regenerated post-merge; 1 unexplained cell remaining corpus-wide, bms/classes_found, tracked there).

    Known deferred item

    The fidelity_table.py FIDELITY_PROVENANCE re-pin (corpus_sha + language count) is owed after the #137/#138 rosetta merges — surfaced by language_addition_audit.py's warning; small standalone chore, not blocking this epic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    core-engineModifications to the central physics and parsing engineepicLarge-scale architectural milestone or multi-issue initiativelegacy-modernizationCOBOL refractor, dead-code extraction, and JCL forgingpriority: highCore feature broken, but workarounds exist

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions