Repository navigation
COBOL translator: SORT/MERGE (RELEASE/RETURN) have no statement parser; JCL utility steps are not run #4268
Copy link
Copy link
Open
Labels
core-engineModifications to the central physics and parsing engineModifications to the central physics and parsing engineenhancementNew feature, sensor, or structural signatureNew feature, sensor, or structural signatureera:2Era CICS/MVS-ESA, COBOL II/85: RESP, SQL, DPL (~1988-96) (era_tags.py)Era CICS/MVS-ESA, COBOL II/85: RESP, SQL, DPL (~1988-96) (era_tags.py)legacy-modernizationCOBOL refractor, dead-code extraction, and JCL forgingCOBOL refractor, dead-code extraction, and JCL forgingneeds:dockerNeeds Docker toolchain/oracle containersNeeds Docker toolchain/oracle containerspriority: highCore feature broken, but workarounds existCore feature broken, but workarounds existscope:frontierMapped, not yet built: eras/commands/regions the burned estates don't use (Gap Atlas)Mapped, not yet built: eras/commands/regions the burned estates don't use (Gap Atlas)
Milestone
Description
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.mdF4 (~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
- SORT (USING/GIVING and INPUT/OUTPUT PROCEDURE), MERGE, RELEASE, RETURN parsed and translated
- Equivalence case with a SORT program proven against the oracle (collation per Collation hazards: extract alphanumeric relation conditions, guard the port, and prove it with boundary inputs #4035)
- Utility steps SORT and IEBGENER executed in the oracle, IDCAMS REPRO/DEFINE minimal subset, or each explicitly refused with a register entry
- Multi-step job case (more than one EXEC PGM) runnable in the harness
- Register F4 updated
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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
core-engineModifications to the central physics and parsing engineModifications to the central physics and parsing engineenhancementNew feature, sensor, or structural signatureNew feature, sensor, or structural signatureera:2Era CICS/MVS-ESA, COBOL II/85: RESP, SQL, DPL (~1988-96) (era_tags.py)Era CICS/MVS-ESA, COBOL II/85: RESP, SQL, DPL (~1988-96) (era_tags.py)legacy-modernizationCOBOL refractor, dead-code extraction, and JCL forgingCOBOL refractor, dead-code extraction, and JCL forgingneeds:dockerNeeds Docker toolchain/oracle containersNeeds Docker toolchain/oracle containerspriority: highCore feature broken, but workarounds existCore feature broken, but workarounds existscope:frontierMapped, not yet built: eras/commands/regions the burned estates don't use (Gap Atlas)Mapped, not yet built: eras/commands/regions the burned estates don't use (Gap Atlas)
Activity
test(det): expect the new `sd` flag in fd_entries (#4268)
det-port: SORT / MERGE / RELEASE / RETURN and SD files (#4268) (#4286)
squid-protocol commentedon Oct 5, 2026
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.
det SORT / MERGE: EBCDIC and literal COLLATING SEQUENCE alphabets (#4268