Skip to content

CICS: WEB RETRIEVE (server) on both runtimes, register X41 (Part of #4941) - #4989

Merged
squid-protocol merged 3 commits into
mainfrom
feat/4941-web-retrieve
Oct 12, 2026
Merged

squid-protocol merged 3 commits into
mainfrom
feat/4941-web-retrieve

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Part of #4941 (sibling of #4767 / #4938). Closes nothing yet: see "Left open".

What

WEB RETRIEVE (server) modelled per IBM's reference (DOCTOKEN the only option; INVREQ RESP2 1 / 2, NOTFND RESP2 1) in the spec (commands/web.py, name-only entry removed from api.py), CicsTask.webRetrieve, the C stub GGCWRTV, and both translators (det det/cics.py, COBOL-side equivalence_cics.py). Register X41.

  • no WEB SEND issued -> INVREQ 2; a WEB SEND issued -> NOTFND 1 (every send the runtimes accept is ACTION(IMMEDIATE), which IBM lists under NOTFND 1).
  • NORMAL (DOCTOKEN written) needs an ACTION(EVENTUAL) document send; WEB SEND refuses EVENTUAL and DOCSTATUS (X37), so DOCTOKEN is never produced. Declared in the spec as IBM's outcome and refused by name in the register.
  • REFUSED by name: unstated request (IBM's INVREQ 1, a non-web task, cannot be told from it), a retrieve after a WEB SEND that ended in a condition (IBM does not say whether it was issued), every other option, a literal DOCTOKEN.

Class (WEB server-side commands, #4767)

member status
WEB RETRIEVE handled here (this PR)
WEB EXTRACT / RECEIVE INTO / READ + WRITE HTTPHEADER / SEND / PARSE URL / OPEN / CONVERSE / CLOSE handled (#4877, #4898, #4938)
WEB READ/STARTBROWSE/READNEXT/ENDBROWSE FORMFIELD, QUERYPARM, HTTPHEADER browse missing (name-only; own mechanism: browse cursor)
WEB RECEIVE SET missing (pointer lane)
WEB SEND ACTION(EVENTUAL) / DOCSTATUS missing (deferred send at task end; unlocks WEB RETRIEVE NORMAL)

Tests

Stub and CicsTask answer one step table (rtv, sndbad steps; two request fixtures) line for line, incl. unstated request refusal; both translators refuse every other option; spec counts 67 / 186.

Gates

pr_gates --fast 5/5, --ratchets 7/7, none skipped. det_port.py check: 90/104 ports CHANGED, in generated CicsTask.java only (+19 lines, additive); zecs-zecsplt and carddemo-signon re-proved PROVED. No corpus program uses WEB RETRIEVE.

Cross-repo

None.

🤖 Generated with Claude Code

…4941)

Spec, CicsTask.webRetrieve, the stub GGCWRTV, both translators. INVREQ 2 / NOTFND 1 as IBM lists; NORMAL needs an
ACTION(EVENTUAL) send, which WEB SEND refuses, so it is refused by name.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@squid-protocol squid-protocol added the shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md label Oct 12, 2026
squid-protocol and others added 2 commits October 12, 2026 09:31
…and #4940's browse forms)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… this change

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

@squid-protocol
squid-protocol marked this pull request as ready for review October 12, 2026 13:35
@squid-protocol
squid-protocol enabled auto-merge (squash) October 12, 2026 13:35
@squid-protocol

Copy link
Copy Markdown
Owner Author

This PR conflicts with main, so no checks ran. Merge origin/main into it and regenerate generated files with their tools (never hand-merge them), then push.

@squid-protocol squid-protocol added the shepherd:needs-fix Bot: a real failure on this head; see the digest comment. Guide: docs/ci.md label Oct 12, 2026
@squid-protocol

Copy link
Copy Markdown
Owner Author

This PR conflicts with main, so no checks ran. Merge origin/main into it and regenerate generated files with their tools (never hand-merge them), then push.

@squid-protocol squid-protocol removed the shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md label Oct 12, 2026
@squid-protocol

Copy link
Copy Markdown
Owner Author

CI shepherd: the head of this PR (537bfa5) is not the one a maintainer labelled shepherd:merge on (new commits, or never approved), so the label was removed and nothing merges unreviewed code. Re-add the label when the new head is ready (shepherd:reapprove marks this PR until then).

@squid-protocol squid-protocol added shepherd:reapprove Bot: new commits dropped shepherd:merge; re-add it to merge this head. Guide: docs/ci.md shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md and removed shepherd:needs-fix Bot: a real failure on this head; see the digest comment. Guide: docs/ci.md shepherd:reapprove Bot: new commits dropped shepherd:merge; re-add it to merge this head. Guide: docs/ci.md labels Oct 12, 2026
@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

@squid-protocol
squid-protocol enabled auto-merge (squash) October 12, 2026 13:43
@github-actions

Copy link
Copy Markdown
Contributor

🐦‍⬛ Muninn Security Scan

✅ No security issues found.

🐦‍⬛ Powered by Muninn · Skald Lab

@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

@squid-protocol
squid-protocol merged commit 678d19d into main Oct 12, 2026
72 checks passed
@squid-protocol
squid-protocol deleted the feat/4941-web-retrieve branch October 12, 2026 14:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant