Skip to content

CICS: INQUIRE URIMAP browse and WRITE OPERATOR; zECS ZECSPLT translates whole (Part of #4270) - #4773

Merged
squid-protocol merged 2 commits into
mainfrom
feat/4270-zecs
Oct 9, 2026
Merged

squid-protocol merged 2 commits into
mainfrom
feat/4270-zecs

Conversation

@squid-protocol

@squid-protocol squid-protocol commented Oct 9, 2026 •

Copy link
Copy Markdown
Owner

Part of #4270 (burned estate zECS).

Result

zECS, 5 programs, all L0 on main. Per program, statements translated / holes, before -> after (det survey, zECS only; ZECSPLT also compiles):

program before after what holds it
ZECSPLT 23/27, 4 holes (INQUIRE URIMAP x3, WRITE OPERATOR) 27/27, 0 holes, compiles whole
ECS001 100/105 100/105 WEB OPEN/CONVERSE/CLOSE, INQUIRE URIMAP(name) direct
ZECS000 162/173 162/173 WEB, DOCUMENT, READ GTEQ (template file name), INQUIRE URIMAP direct
ZECS001 523/561 523/561 WEB (server side), DOCUMENT, GETMAIN/FREEMAIN + SET ADDRESS, GET DCOUNTER, CALL ZUIDSTCK, INQUIRE PROGRAM STATUS
ZECS003 63/73 63/73 WEB, DOCUMENT, READ GTEQ / DELETE GENERIC, INQUIRE URIMAP direct

Translated whole 0 -> 1 (zECS-only). The other four programs fundamentally need HTTP (WEB OPEN / CONVERSE / SEND / RECEIVE ...): not half-modelled, filed: #4767 (WEB family, design first), #4768 (INQUIRE URIMAP direct, INQUIRE PROGRAM STATUS), #4769 (DOCUMENT), #4770 (GET/DEFINE/DELETE/QUERY DCOUNTER with INCREMENT / WRAP: ZECS001 is held by far more than DCOUNTER, 0 programs made whole by it alone, so it was not started), #4771 (template file names, pointers/GETMAIN, ZUIDSTCK).

What changed (register X32, IBM is the reference)

  • Spec (gitgalaxy/standards/cics): INQUIRE URIMAP (START / NEXT / END, URIMAP 8, PATH 255, TRANSACTION 4; END RESP2 2, ILLOGIC RESP2 1) and WRITE OPERATOR (TEXT) promoted from name-only / absent to full entries.
  • det translator + both runtimes (CicsTask / DetCics, ggcics.c + equivalence_cics.py): the browse over the installed URIMAPs the run states (new fact withUrimaps / $GGCICS_URIMAPS); WRITE OPERATOR recorded as a WRITE-OPERATOR event.
  • Refused by name (IBM silent): the browse order (stated with the definitions; the case never uses it), padding of a short value (blanks, assumed), data areas on END / ILLOGIC (left alone, assumed), NEXT / END with no browse (ILLOGIC has no RESP2 of its own), the direct form, other URIMAP attributes, console options other than TEXT, a text IBM reformats (DFHnnnn / DFHaannnn) or splits (>113).
  • Crucible runner: URIMAPs read from the case CSD; the new event compared.
  • oracle_assumptions.md X32; cics_spec_status.md re-rendered.

Proof

Companion cics-crucible case ghost-tasks/gt-urimap-browse (hand-traced, 2 scenarios; additive SPEC event WRITE-OPERATOR): cobol-stub pass 2/2, java-ported pass 2/2 (--unpinned, no tag or pin bump). Unit tests: CicsTask and stub C, translator, stub translator, runner. det_port.py check: 79/79 ports unchanged. pr_gates.py --fast 5/5, --ratchets 7/7 (JDK 17, shared checkouts on their pins).

Cross-repo

Companion: squid-protocol/cics-crucible#18 (branch case/4270-zecs-urimap-browse). Merge order: either; the gitgalaxy side does not need the case on the pin. Merge-order note for the orchestrator: #4766 also takes register X31, this PR is X32 (the table rows in oracle_assumptions.md and cics_spec_status.md / the spec counts in test_cics_spec.py will conflict with it: keep both).

Not committed: the evidence report (bot-generated); crucible-proof evidence records that the harness change stales are for the refresh bot.

🤖 Generated with Claude Code

https://claude.ai/code/session_01MQNoe4wPJgr7dbUvs3DG6D

…zECS ZECSPLT translates whole (Part of #4270)

INQUIRE URIMAP START / NEXT / END over the URIMAP definitions the run states are
installed (CicsTask.withUrimaps, $GGCICS_URIMAPS, the case CSD's DEFINE URIMAPs):
URIMAP (8), PATH (255) and TRANSACTION (4), END RESP2 2, ILLOGIC RESP2 1 for a START
inside a browse. WRITE OPERATOR TEXT records the message as a WRITE-OPERATOR event.
What IBM leaves open is stated or refused by name (register X32): the browse order,
a NEXT / END with no browse, the direct form, other URIMAP attributes, console
options, a text IBM reformats. Both runtimes and the stub translator; the crucible
runner reads URIMAPs from the CSD and compares the new event.

zECS ZECSPLT: 23/27 statements -> 27/27, compiles; the other four zECS programs are
held by WEB / DOCUMENT (issues filed).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MQNoe4wPJgr7dbUvs3DG6D
@squid-protocol squid-protocol added enhancement New feature, sensor, or structural signature legacy-modernization COBOL refractor, dead-code extraction, and JCL forging labels Oct 9, 2026
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

🐦‍⬛ Muninn Security Scan

✅ No security issues found.

🐦‍⬛ Powered by Muninn · Skald Lab

Keep X30, X31 and X32 register rows; re-render cics_spec_status.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MQNoe4wPJgr7dbUvs3DG6D
@squid-protocol
squid-protocol marked this pull request as ready for review October 9, 2026 11:03
@squid-protocol
squid-protocol merged commit 49de923 into main Oct 9, 2026
40 checks passed
@squid-protocol
squid-protocol deleted the feat/4270-zecs branch October 9, 2026 11:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature, sensor, or structural signature legacy-modernization COBOL refractor, dead-code extraction, and JCL forging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant