Program-side EXEC CICS WEB / INVOKE SERVICE / TRANSFORM (#3512) - #3561
Merged
Merged
Conversation
…rce rows (#3512) Engine (core/cics_resources.py): three new kinds in the one cics_resource_data table, verb = the command's first two words: WEB WEB OPEN / CONVERSE / SEND / RECEIVE / CLOSE, WEB READ / WRITE HTTPHEADER; name the URIMAP, else HOST (OPEN) or PATH, or the header; qualifier CLIENT (OPEN / CONVERSE / CLOSE or SESSTOKEN coded) or SERVER -- a SERVER SEND / RECEIVE is a hand-written HTTP provider SERVICE INVOKE SERVICE / WEBSERVICE; name the service, qualifier the CHANNEL TRANSFORM DATATOXML / XMLTODATA / DATATOJSON / JSONTODATA; name the XMLTRANSFORM / JSONTRANSFRM, qualifier the CHANNEL WEB EXTRACT / PARSE / browse and READ FORMFIELD / QUERYPARM name nothing: no row. Reader: GalaxyIR.api_surface() gains `invocations` (each INVOKE joined to the requester step whose WSBIND file is named after the service, and to a CSD WEBSERVICE of that name), `invoked_by` on every service, and `http` (per program and side: command count and resolved endpoints). Proof: zECS (the pinned hand-written HTTP key/value service) carries 30 WEB commands. The answer key's independent reader drafts the same 61 rows the engine emits; a blind re-census of the whole resources suite (7 files, 80 facts incl. HLASM tasks/UOW) agreed on all but three WEB CONVERSE record clauses -- the brief said "the first of INTO / FROM / SET", meant as precedence, read as source order; ruled key_correct, and the brief now states the precedence. CICS resources stays cross_verified on zECS, 31 -> 61 facts. No public corpus found codes INVOKE or TRANSFORM (the whole data pool was searched), so those are unit-tested only. Golden masters: only CICS Resources rows added (WEB rows for 3 zECS and 4 Z-SMS-Gateway programs). zECS completeness pin: ECS001 ("Sample CICS program initiated via a terminal") issues only WEB commands, so it read as a batch program; it is now a CICS program whose transaction the repo does not define (transactions 9/9 -> 9/10, batch entry 0/1 -> 0/0). Closes #3512 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017ZsVaAkb86P5r5JXDC2Y9g
Contributor
#3549's golden section 7 recorded the crucible's completeness before WEB commands drew rows. With them, the crucible's WEB-only programs (zECS ECS001, Z-SMS-Gateway) read as CICS programs, not batch: batch entry 289 -> 285, transactions 180 -> 185 (158 reached), score 61.4% -> 61.3%. Section 7 only, identical on both legs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017ZsVaAkb86P5r5JXDC2Y9g
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Engine (core/cics_resources.py): three new kinds in the one cics_resource_data
table, verb = the command's first two words:
WEB WEB OPEN / CONVERSE / SEND / RECEIVE / CLOSE, WEB READ / WRITE
HTTPHEADER; name the URIMAP, else HOST (OPEN) or PATH, or the header;
qualifier CLIENT (OPEN / CONVERSE / CLOSE or SESSTOKEN coded) or
SERVER -- a SERVER SEND / RECEIVE is a hand-written HTTP provider
SERVICE INVOKE SERVICE / WEBSERVICE; name the service, qualifier the CHANNEL
TRANSFORM DATATOXML / XMLTODATA / DATATOJSON / JSONTODATA; name the
XMLTRANSFORM / JSONTRANSFRM, qualifier the CHANNEL
WEB EXTRACT / PARSE / browse and READ FORMFIELD / QUERYPARM name nothing: no row.
Reader: GalaxyIR.api_surface() gains
invocations(each INVOKE joined to therequester step whose WSBIND file is named after the service, and to a CSD
WEBSERVICE of that name),
invoked_byon every service, andhttp(perprogram and side: command count and resolved endpoints).
Proof: zECS (the pinned hand-written HTTP key/value service) carries 30 WEB
commands. The answer key's independent reader drafts the same 61 rows the engine
emits; a blind re-census of the whole resources suite (7 files, 80 facts incl.
HLASM tasks/UOW) agreed on all but three WEB CONVERSE record clauses -- the brief
said "the first of INTO / FROM / SET", meant as precedence, read as source order;
ruled key_correct, and the brief now states the precedence. CICS resources stays
cross_verified on zECS, 31 -> 61 facts. No public corpus found codes INVOKE or
TRANSFORM (the whole data pool was searched), so those are unit-tested only.
Golden masters: only CICS Resources rows added (WEB rows for 3 zECS and 4
Z-SMS-Gateway programs). zECS completeness pin: ECS001 ("Sample CICS program
initiated via a terminal") issues only WEB commands, so it read as a batch
program; it is now a CICS program whose transaction the repo does not define
(transactions 9/9 -> 9/10, batch entry 0/1 -> 0/0).
Closes #3512
Verification
🤖 Generated with Claude Code
https://claude.ai/code/session_017ZsVaAkb86P5r5JXDC2Y9g