Repository navigation
CICS: file update TOKEN (READ UPDATE / REWRITE / DELETE / UNLOCK TOKEN); DELCUS translates whole (Part of #5078) - #5090
Merged
Conversation
…CK TOKEN (Part of #5078) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
This was referenced Oct 14, 2026
Owner
Author
|
No description provided. |
squid-protocol
marked this pull request as ready for review
October 14, 2026 05:46
This was referenced Oct 14, 2026
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.
Part of #5078
CBSA DELCUS (
READ UPDATE TOKENx2,DELETE TOKENx2) was refused whole because the spec had no TOKEN option. It now translates whole (det_survey: 140/140 statements, port compiles). Not proven end to end: no equivalence case exists for DELCUS (its LINK targets and Db2 work are separate cases), see Sibling gaps.What changed
standards/cics/commands/files.py): TOKEN on READ (area_out, fullword; implies UPDATE), REWRITE, DELETE; new modelledUNLOCK(removed from the name-only refused list inapi.py); READNEXT / READPREVUPDATE/TOKENrefused by name.ggcics.c(token table,GGCUNLK, GGCREAD / GGCREWR / GGCDELT) andCicsTask(holdToken/rewriteToken/deleteToken/unlockToken); a SYNCPOINT / ROLLBACK ends every token. The det port (det/cics.py) and the stub's translator (equivalence_cics.py) emit them; REWRITE now always setsGG-FLAGS(a staleTOKENflag could otherwise leak in).Class table
GGCUNLK,unlockToken)Tests
tests/cics_crucible/test_update_token_runtimes_5078.py: 18 scenarios on the stub and on CicsTask (valid, invalid, reused, interleaved, wrong-file token, tokenless REWRITE with a token held, NOTFND issues none, UNLOCK then DELETE, SYNCPOINT, key-change refusal).tests/cobol_mainframe/test_update_token_translate_5078.py: translation of each member on both sides, the by-name refusals, the spec.test_equivalence_cics.pyupdated for REWRITE's newMOVE SPACES TO GG-FLAGS.Gates
pr_gates --fast6/6;--ratchets7/7 (0 skipped).det_port.py check: every CICS port'sCicsTask.javachanged (63 added lines, nothing else); re-proved carddemo-userupd, carddemo-userdel, cbsa-updcust, genapp-lgupvs01, zecs-zecsplt: all PROVED. Golden masters not touched.Cross-repo
None.
🤖 Generated with Claude Code