Skip to content

COBOL translator: SORT/MERGE (RELEASE/RETURN) have no statement parser; JCL utility steps are not run #4268

Open

Description

@squid-protocol

Problem

The det port has no parser for the SORT, MERGE, RELEASE and RETURN verbs, so each becomes a hole. Separately, JCL utility steps (SORT/DFSORT, IDCAMS, IEBGENER) are not executed by the oracle, and a batch case runs one program step.

Evidence (file:line, origin/main)

  • gitgalaxy/tools/cobol_to_java/det/stmt.py:768-775 (_PARSERS): no SORT, MERGE, RELEASE or RETURN key.
  • docs/language_status/oracle_assumptions.md F4 (~222-225): "SORT, IDCAMS, IEBGENER and DFSORT steps are not run. The COBOL SORT verb is not translated by the det port (a hole)." "A batch case runs one program step."
  • Note: the Java batch forge does model IEBGENER/ICEGENER copy and GDG generations (cobol_to_java_batch_forge.py:~61, ~744); the gap is the det/equivalence path, so GDG is not claimed missing here.

Impact on a real estate

SORT/MERGE with INPUT/OUTPUT PROCEDURE is ubiquitous in batch estates; programs using it cannot be proven, and multi-step jobs (SORT then program then IDCAMS) cannot be run end to end.

Acceptance criteria

Out of scope

Full DFSORT control-statement language; spanned-record (RECFM VS) support beyond a documented refusal.

Found during: 2026-10-03 COBOL engine/translator audit

🤖 Generated with Claude Code

Activity

  1. added
    enhancementNew feature, sensor, or structural signature
    core-engineModifications to the central physics and parsing engine
    legacy-modernizationCOBOL refractor, dead-code extraction, and JCL forging
    priority: highCore feature broken, but workarounds exist
    on Oct 3, 2026
  2. squid-protocol commented on Oct 5, 2026

    @squid-protocol
    OwnerAuthor

    Status: the SORT / MERGE / RELEASE / RETURN statement parsers landed in #4286 (d410952), so that half is done. JCL utility steps remain. The 2026-10-05 CICS/SQL census did not measure JCL utilities.

  3. added
    scope:frontierMapped, not yet built: eras/commands/regions the burned estates don't use (Gap Atlas)
    era:2Era CICS/MVS-ESA, COBOL II/85: RESP, SQL, DPL (~1988-96) (era_tags.py)
    on Oct 16, 2026
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 engineenhancementNew feature, sensor, or structural signatureera:2Era CICS/MVS-ESA, COBOL II/85: RESP, SQL, DPL (~1988-96) (era_tags.py)legacy-modernizationCOBOL refractor, dead-code extraction, and JCL forgingneeds:dockerNeeds Docker toolchain/oracle containerspriority: highCore feature broken, but workarounds existscope:frontierMapped, not yet built: eras/commands/regions the burned estates don't use (Gap Atlas)

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions