Repository navigation
scanner/det: detect and refuse by name macro-level CICS and CICS Assembler programs #5121
Description
What: detect and refuse by name CICS macro-level programs (DFHPC / DFHFC / DFHTC / DFHSC ... macro calls in COBOL or Assembler, CSA/TCA addressing) and CICS Assembler programs, instead of letting them look like broken COBOL. The scanner reports them as their own refusal family with counts per estate; the det translator refuses them with the reason. Not translated (out of scope until owner decides).
Acceptance: refusal family "macro-level CICS" / "CICS Assembler" in the support matrix and blocker report; fixtures for each; existing corpora unchanged.
Context (owner-approved 2026-10-14): our CICS corpus is almost all eras 3-4 (CardDemo, CBSA, GenApp are modern demos) on top of well-modelled old COBOL semantics. Real estates are layered: 1980s programs LINK 1990s ones that call 2010s Db2 code in one region. Era model used here (approximate; the scanner should cite evidence, not dates):
| Era | ~When | CICS | COBOL | Tells |
|---|---|---|---|---|
| 0 | ~1969-80 | macro level (DFHPC/DFHFC, CSA/TCA) | ANS 68 | DFHxx macro calls, no EXEC CICS |
| 1 | ~1978-88 | CICS/VS 1.x command level | OS/VS COBOL (74) | BLL cells + SERVICE RELOAD, HANDLE CONDITION/AID, DL/I, FCT/PCT/PPT/DCT macro tables |
| 2 | ~1988-96 | CICS/MVS 2.x, CICS/ESA 3-4 | VS COBOL II / COBOL 85 | ADDRESS OF / SET ADDRESS, RESP/RESP2, EXEC SQL, CSD (RDO), DPL |
| 3 | ~1996-2005 | CICS TS 1-2 | COBOL for MVS/OS390, LE | MQ, EXCI, 3270 bridge, web |
| 4 | 2005+ | CICS TS 3+ | Enterprise COBOL | channels/containers, SOAP/JSON, async, named counters |
Order: after the current CI work and CICS blocker work (owner). Siblings: the five "era" issues filed together.
🤖 Generated with Claude Code
Activity
squid-protocol commentedon Oct 14, 2026
Siblings (era work, filed together 2026-10-14): #5117 era tags, #5118 estate-crucible era profiles, #5119 BLL cells / SERVICE RELOAD, #5120 resource macro tables, #5121 macro-level / Assembler refusals. Queued after the CI and CICS blocker work (owner).
🤖 Generated with Claude Code
cics_macro_level: lint and entropy-scan clean (Part of #5121)
squid-protocol commentedon Oct 14, 2026
Siblings: #5158 (gaps left open by PR #5157).
evidence: fingerprint core/cics_macro_level.py as a translator input;…
scanner/det: refuse macro-level CICS and CICS Assembler by name (Part…
squid-protocol commentedon Oct 14, 2026
Acceptance met by #5157: two named refusal families (macro-level CICS, CICS Assembler) in the support matrix, refusal map and cics_census blocker report; fixtures per macro family x host; burned-estate fixtures unchanged apart from zecs (2 real CICS Assembler programs). Remaining gaps are tracked in #5158.