Skip to content

det/CICS: WEB SEND ACTION(EVENTUAL) + DOCSTATUS, WEB RETRIEVE NORMAL (Part of #4941) - #5036

Merged
squid-protocol merged 2 commits into
mainfrom
feat/4941-web-eventual
Oct 13, 2026
Merged

squid-protocol merged 2 commits into
mainfrom
feat/4941-web-eventual

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Part of #4941 (sibling of #4767 / #4989).

What

WEB SEND ACTION(EVENTUAL) and DOCSTATUS modelled on the spec (commands/web.py), CicsTask, the C stub (ggcics.c) and both translators (det det/cics.py, COBOL-side equivalence_cics.py), so WEB RETRIEVE's NORMAL outcome (the DOCTOKEN written) is reachable. Registers X37 and X41 updated (no new number).

IBM (WEB SEND server page): EVENTUAL "sends the response ... at end of task" and is the default for a send that is not chunked; a second EVENTUAL send replaces the first; DOCSTATUS is DOCDELETE / NODOCDELETE (default NODOCDELETE), DOCDELETE deletes the document once its contents are saved and later requests are NOTFND; INVREQ 143 invalid DOCSTATUS; NOTFND 1 for a document not created / deleted / wrongly named.

  • EVENTUAL (and omitted ACTION) holds the response; one WEB-SEND event (action EVENTUAL) is recorded at the end of the task, after RETURN (ASSUMED order); a second send replaces the whole response (ASSUMED: IBM's two sentences differ on "components").
  • DOCSTATUS on a DOCTOKEN send: DOCDELETE removes the document (DOCUMENT RETRIEVE / WEB SEND DOCTOKEN then NOTFND 1); INVREQ 143 otherwise invalid.
  • A DOCTOKEN naming no document is now NOTFND 1 (IBM lists one RESP2 for all three causes); it was a refusal.
  • WEB RETRIEVE NORMAL: the last send an EVENTUAL document send that did not DOCDELETE writes the DOCTOKEN of a copy of the document as sent (ASSUMED: a new document of the task, same token for repeated retrieves); NOTFND 1 for IMMEDIATE / FROM / DOCDELETE; INVREQ 2 before any send.
  • REFUSED by name: IMMEDIATE after EVENTUAL, a task that ended in an abend with a response held, WEB WRITE HTTPHEADER after any send, DOCSTATUS on a FROM send, a retrieve after a send that ended in a condition.

Class (WEB server-side commands, #4767)

member status
WEB SEND FROM / DOCTOKEN, ACTION IMMEDIATE / EVENTUAL / omitted, DOCSTATUS handled here
WEB RETRIEVE handled here (NORMAL now reachable)
WEB WRITE HTTPHEADER after a send handled here (refused for a held send as for a sent one)
WEB EXTRACT / RECEIVE INTO / READ + WRITE HTTPHEADER / PARSE URL / OPEN / CONVERSE / CLOSE / READ+browse FORMFIELD, QUERYPARM handled (#4877, #4898, #4938, #4971)
WEB RECEIVE SET missing (pointer lane)
WEB SEND CHUNKING / CONTAINER / CHANNEL / code-page options refused by name (X37)

Tests

_X41_CASES (tests/cics_crucible/test_cics_runtimes.py): CicsTask and the stub answer 17 step lists alike (NORMAL, replace, DOCDELETE, NODOCDELETE, invalid DOCSTATUS, abend refusal, event order); X37 FROM and DOCTOKEN tables extended (EVENTUAL, omitted, replace, failed second send, NOTFND 1); X38 harness (header after a held send, retrieve after EVENTUAL FROM); both translators (DOCSTATUS in GG-SECS / the CicsTask call, WEB RETRIEVE writes the token on NORMAL).

Gates

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

Cross-repo

None.

🤖 Generated with Claude Code

squid-protocol and others added 2 commits October 13, 2026 11:29
…IP, Part of #4941)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…E NORMAL (Part of #4941)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@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 marked this pull request as ready for review October 13, 2026 15:59
@squid-protocol
squid-protocol enabled auto-merge (squash) October 13, 2026 15:59
@squid-protocol squid-protocol added the shepherd:retrying Bot: an infra/flake rerun is pending on this head. Guide: docs/ci.md label Oct 13, 2026
@squid-protocol

Copy link
Copy Markdown
Owner Author

PR #5036 @ 89b15a4: 4 failed check(s)

== db2 1/4 (failure) -- infra
https://github.com/squid-protocol/gitgalaxy/actions/runs/38425093977/job/115392891481
repro: tests/tools/box/heavy-run.sh python tests/tools/proof_sweep.py --det-only --db2-only --cases --work /tmp/gitgalaxy-scratch/ci-digest/sweep
errors:
fail-on-cache-miss: false
Traceback (most recent call last):
RuntimeError: docker build -q -t: ERROR: failed to build: failed to solve: failed to load cache key: Get "https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/linuxx64_odbc_cli.tar.gz": net/http: TLS handshake time
##[error]the background Db2 start did not finish
##[error]Process completed with exit code 1.
log tail:
GITGALAXY_ORACLE_PREBUILT: 1
DB2_JOBS: 4
GITGALAXY_DB2_POOL: 4
JAVA_HOME: /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.20-1/x64
JAVA_HOME_17_X64: /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.20-1/x64
MAVEN_ARGS: -ntp
##[endgroup]
Multiple search paths detected. Calculating the least common ancestor of all paths
The least common ancestor is /home/runner/work/_temp. This will be the root directory of the artifact
With the provided path, there will be 1 file uploaded
Artifact name is valid!
Root directory input is valid!
Uploading artifact: det-sweep-db2-logs-0.zip
Beginning upload of artifact content to blob storage
Uploaded bytes 591
Finished uploading artifact content to blob storage!
SHA256 digest of uploaded artifact is 06f31aa1fbf989994f0b2fb24627ebe3d45c2108ac33c5a27aa394c7ddde4e6d
Finalizing artifact upload
Artifact det-sweep-db2-logs-0 successfully finalized. Artifact ID 11827913898
Artifact det-sweep-db2-logs-0 has been successfully uploaded! Final size is 591 bytes. Artifact ID is 11827913898
Artifact download URL: https://github.com/squid-protocol/gitgalaxy/actions/runs/38425093977/artifacts/11827913898
Post job cleanup.
Post job cleanup.
[command]/usr/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/work/_temp/65e5b150-ee1f-4237-8bf2-98c58fc65f78' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/bin/git config --global --add safe.directory /home/runner/work/gitgalaxy/gitgalaxy/gitgalaxy
Removing SSH command configuration
[command]/usr/bin/git config --local --name-only --get-regexp core.sshCommand
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
Removing HTTP extra header
[command]/usr/bin/git config --local --name-only --get-regexp http.https://github.com/.extraheader
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http.https://github.com/.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
Removing includeIf entries pointing to credentials config files
[command]/usr/bin/git config --local --name-only --get-regexp ^includeIf.gitdir:
[command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
Cleaning up orphan processes
Terminate orphan process: pid (2199) (bash)
Terminate orphan process: pid (2200) (docker)

== db2 3/4 (failure) -- infra
https://github.com/squid-protocol/gitgalaxy/actions/runs/38425093977/job/115392891535
repro: tests/tools/box/heavy-run.sh python tests/tools/proof_sweep.py --det-only --db2-only --cases --work /tmp/gitgalaxy-scratch/ci-digest/sweep
errors:
fail-on-cache-miss: false
Traceback (most recent call last):
RuntimeError: docker build -q -t: ERROR: failed to build: failed to solve: failed to load cache key: Get "https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/linuxx64_odbc_cli.tar.gz": net/http: TLS handshake time
##[error]the background Db2 start did not finish
##[error]Process completed with exit code 1.
log tail:
GITGALAXY_ORACLE_PREBUILT: 1
DB2_JOBS: 4
GITGALAXY_DB2_POOL: 4
JAVA_HOME: /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.20-1/x64
JAVA_HOME_17_X64: /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.20-1/x64
MAVEN_ARGS: -ntp
##[endgroup]
Multiple search paths detected. Calculating the least common ancestor of all paths
The least common ancestor is /home/runner/work/_temp. This will be the root directory of the artifact
With the provided path, there will be 1 file uploaded
Artifact name is valid!
Root directory input is valid!
Uploading artifact: det-sweep-db2-logs-2.zip
Beginning upload of artifact content to blob storage
Uploaded bytes 591
Finished uploading artifact content to blob storage!
SHA256 digest of uploaded artifact is f9e39ea0b273722a102d456591b68d65da4181a6b9af6b16aff50c161f1f3ef7
Finalizing artifact upload
Artifact det-sweep-db2-logs-2 successfully finalized. Artifact ID 11827589501
Artifact det-sweep-db2-logs-2 has been successfully uploaded! Final size is 591 bytes. Artifact ID is 11827589501
Artifact download URL: https://github.com/squid-protocol/gitgalaxy/actions/runs/38425093977/artifacts/11827589501
Post job cleanup.
Post job cleanup.
[command]/usr/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/work/_temp/4a5156a6-3686-45af-ae0b-4da4546890e9' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/bin/git config --global --add safe.directory /home/runner/work/gitgalaxy/gitgalaxy/gitgalaxy
Removing SSH command configuration
[command]/usr/bin/git config --local --name-only --get-regexp core.sshCommand
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
Removing HTTP extra header
[command]/usr/bin/git config --local --name-only --get-regexp http.https://github.com/.extraheader
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http.https://github.com/.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
Removing includeIf entries pointing to credentials config files
[command]/usr/bin/git config --local --name-only --get-regexp ^includeIf.gitdir:
[command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
Cleaning up orphan processes
Terminate orphan process: pid (2194) (bash)
Terminate orphan process: pid (2195) (docker)

== db2 4/4 (failure) -- infra
https://github.com/squid-protocol/gitgalaxy/actions/runs/38425093977/job/115392891393
repro: tests/tools/box/heavy-run.sh python tests/tools/proof_sweep.py --det-only --db2-only --cases --work /tmp/gitgalaxy-scratch/ci-digest/sweep
errors:
fail-on-cache-miss: false
Traceback (most recent call last):
RuntimeError: docker build -q -t: ERROR: failed to build: failed to solve: failed to load cache key: Get "https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/linuxx64_odbc_cli.tar.gz": net/http: TLS handshake time
##[error]the background Db2 start did not finish
##[error]Process completed with exit code 1.
log tail:
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
GITGALAXY_ORACLE_PREBUILT: 1
DB2_JOBS: 4
GITGALAXY_DB2_POOL: 4
JAVA_HOME: /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.20-1/x64
JAVA_HOME_17_X64: /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.20-1/x64
MAVEN_ARGS: -ntp
##[endgroup]
Multiple search paths detected. Calculating the least common ancestor of all paths
The least common ancestor is /home/runner/work/_temp. This will be the root directory of the artifact
With the provided path, there will be 1 file uploaded
Artifact name is valid!
Root directory input is valid!
Uploading artifact: det-sweep-db2-logs-3.zip
Beginning upload of artifact content to blob storage
Uploaded bytes 591
Finished uploading artifact content to blob storage!
SHA256 digest of uploaded artifact is 77bcc7fce26bb80e490e1b40d1e12006ce8e5d244c332a1d25d7fa752c4cb2e9
Finalizing artifact upload
Artifact det-sweep-db2-logs-3 successfully finalized. Artifact ID 11827249900
Artifact det-sweep-db2-logs-3 has been successfully uploaded! Final size is 591 bytes. Artifact ID is 11827249900
Artifact download URL: https://github.com/squid-protocol/gitgalaxy/actions/runs/38425093977/artifacts/11827249900
Post job cleanup.
Post job cleanup.
[command]/usr/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/work/_temp/179a6e73-70e4-41f4-adcb-a91304030c44' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/bin/git config --global --add safe.directory /home/runner/work/gitgalaxy/gitgalaxy/gitgalaxy
Removing SSH command configuration
[command]/usr/bin/git config --local --name-only --get-regexp core.sshCommand
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
Removing HTTP extra header
[command]/usr/bin/git config --local --name-only --get-regexp http.https://github.com/.extraheader
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http.https://github.com/.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
Removing includeIf entries pointing to credentials config files
[command]/usr/bin/git config --local --name-only --get-regexp ^includeIf.gitdir:
[command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
Cleaning up orphan processes

== det (failure) -- real
https://github.com/squid-protocol/gitgalaxy/actions/runs/38425093977/job/115399673047
repro: tests/tools/box/heavy-run.sh python tests/tools/proof_sweep.py --det-only --skip-db2 --cases mortgage-csmrt,mortgage-mpmt --work /tmp/gitgalaxy-scratch/ci-digest/sweep
det cases not proven: mortgage-csmrt,mortgage-mpmt
errors:
det mortgage-csmrt NOT PROVEN proven on 5 scenarios, covering 1/1 paragraphs and 1/2 branches
det mortgage-mpmt NOT PROVEN
##[error]Process completed with exit code 1.
log tail:
det cbsa-bnk1dac: no result (its shard did not report)
det cbsa-creacc: no result (its shard did not report)
det cbsa-custctrl: no result (its shard did not report)
det cbsa-dbcrfun: no result (its shard did not report)
det cbsa-delacc: no result (its shard did not report)
det cbsa-inqacc: no result (its shard did not report)
det cbsa-inqacccu: no result (its shard did not report)
det cbsa-updacc: no result (its shard did not report)
det cbsa-updacc-generated: no result (its shard did not report)
det cbsa-xfrfun: no result (its shard did not report)
det genapp-lgacdb02: no result (its shard did not report)
det genapp-lgacus01: no result (its shard did not report)
det genapp-lgapol01: no result (its shard did not report)
det genapp-lgdpol01: no result (its shard did not report)
det genapp-lgicdb01: no result (its shard did not report)
det genapp-lgicus01: no result (its shard did not report)
det genapp-lgipdb01: no result (its shard did not report)
det genapp-lgtestp1: no result (its shard did not report)
det genapp-lgtestp2: no result (its shard did not report)
det genapp-lgtestp4: no result (its shard did not report)
det genapp-lgupdb01: no result (its shard did not report)
det mortgage-cmort: no result (its shard did not report)
sweep: 29 unexpected
##[error]Process completed with exit code 1.
Post job cleanup.
[command]/usr/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/work/_temp/374bcc9e-3081-4f9a-9465-b8526fca2ea7' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/bin/git config --global --add safe.directory /home/runner/work/gitgalaxy/gitgalaxy
Removing SSH command configuration
[command]/usr/bin/git config --local --name-only --get-regexp core.sshCommand
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
Removing HTTP extra header
[command]/usr/bin/git config --local --name-only --get-regexp http.https://github.com/.extraheader
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http.https://github.com/.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
Removing includeIf entries pointing to credentials config files
[command]/usr/bin/git config --local --name-only --get-regexp ^includeIf.gitdir:
[command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
Cleaning up orphan processes

@squid-protocol squid-protocol added shepherd:needs-fix Bot: a real failure on this head; see the digest comment. 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:retrying Bot: an infra/flake rerun is pending on this head. Guide: docs/ci.md labels Oct 13, 2026
@squid-protocol
squid-protocol merged commit edb97b8 into main Oct 13, 2026
100 of 104 checks passed
@squid-protocol
squid-protocol deleted the feat/4941-web-eventual branch October 13, 2026 16:22
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