det translator: PL/I CICS programs (dsf: 575 era-1 PL/I CICS files untranslatable today)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start with gitgalaxy/tools/cobol_to_java/det/, det_survey.py, and cics_census.py; read the existing COBOL translation path and the linked PL/I work (#2502, #3491, #3720, #4509). The issue maps a broad front end, CICS and DLI translation, and census changes, but says work is blocked on an owner decision about burning a PL/I estate and choosing a runner. Done means PL/I programs and translation holes appear in the survey and census, with execution evidence gated on that decision.
Written by the indexing model from the issue text.
Description
Why
The deterministic translator (gitgalaxy/tools/cobol_to_java/det/) takes COBOL only; cics_census.py --pli already flags PL/I programs as untranslatable. Real CICS estates are often PL/I. In dsf (NAV's Det Sentrale Folketrygdsystemet, in production 1967–2018, local non-burned corpus), 1,473 of the source files are PL/I and 575 of them use EXEC CICS. Only its 7 COBOL batch programs reach the det survey, so the 2026-10-22 non-burned survey (#6064) misses almost all of that estate.
Era profile of dsf's 575 PL/I CICS files (grep of era_tags.py's own tells; the tagger is COBOL-only and reports no tell on PL/I):
- Era 1:
HANDLE CONDITION254, DL/I (EXEC DLI/PLITDLI) 111,HANDLE AID67 - Era 2:
RESP(1,SYSID3,EXEC SQL0 - Eras 0, 3 and 4: none (no macro level, MQ, LE callable services, channels/containers or WEB)
- Shape: classic 3270 command-level application:
SEND MAP186,EXEC CICS LINK/XCTL438
What exists already
- Engine reading of PL/I: #2502 (language), #3250/#3720/#3728 (DECLARE record layouts, storage widths, COMMAREA), #3491 (CICS call sites, handlers, UOW parity), #3577 (answer key).
- #3623 (closed): PL/I through the skeleton Java generation pipeline, not the det statement translator.
- #4509 (open, Gap Atlas): equivalence harness for PL/I. Blocked on a runner: no mature free PL/I compiler (Iron Spring PL/I, or z/OS capture via #4050).
Scope
- Det front end for PL/I: procedures and BEGIN blocks; DECLARE (structures,
BASED/pointers,DEFINED,INITIAL,FIXED DEC/FIXED BIN/CHAR VARYING/BIT,UNALIGNED) onto the same storage model COBOL ports use (#3720's layouts); assignments,IF/SELECT/DOloops,CALL, built-ins (SUBSTR,INDEX,LENGTH,UNSPEC,ADDR, …);ON-conditions as named holes until modelled. - EXEC CICS in PL/I onto the existing CICS runtime model (the same commands COBOL ports use), including era-1
HANDLE CONDITION/HANDLE AIDsemantics (the PL/I flavour of #5856-class work) andEXEC DLI/PLITDLI. - Survey and census:
det_survey.pyandcics_census.pycount PL/I programs as translatable, with holes by reason, so non-burned PL/I estates show up in #6064's numbers.
Evidence constraints (read first)
- No burned estate has any PL/I (0
.pli/.pl1files in all 6). Under the burned-only rule there is no estate to build cases or proofs on. This work is translation-level only (L1 at best) until a burned PL/I estate exists or the owner burns one. - No oracle: PL/I execution needs #4509's runner decision (Iron Spring or z/OS via #4050). Without it nothing reaches L2. Don't fake a runner.
- Owner decision needed before launch: whether to burn a PL/I CICS estate (dsf is the obvious candidate) and which runner #4509 uses. Until then this is frontier: mapped, not built.
Related: #4509, #4515, #4050, #6064, #6065, #5865.
- Dominant language
- Python
- Stars
- 57
- Forks
- 11
- Avg merge
- 1h 35m
- Merged PRs (30d)
- 975
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from squid-protocol/gitgalaxy
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
squid-protocol/gitgalaxy#7827 · 1 comment ·
Maintainers usually reply within 1 day
-
scope:frontier
Difficulty 5/5 Over a week Newbie friendliness 18/100
squid-protocol/gitgalaxy#7900 ·
Maintainers usually reply within 1 day
-
core-engine scope:infra testing
Difficulty 4/5 3-5 days Newbie friendliness 54/100
squid-protocol/gitgalaxy#7863 · 1 comment ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
squid-protocol/gitgalaxy#7834 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 56/100
squid-protocol/gitgalaxy#7828 · 1 comment ·
Maintainers usually reply within 1 day
All issues in squid-protocol/gitgalaxy
Similar issues
-
bug good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
graphql-python/graphql-core#304 ·
Maintainers usually reply within 1 day
-
docs size:S
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
Gathin23/cleanyourtv#3464 ·
Maintainers usually reply within 1 day
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day