Repository navigation
det/CICS: BLL SET(cell) class and OS/VS COBOL chained storage areas (Part of #5119) - #5196
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…uff format (Part of #5119) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No description provided. |
|
PR #5196 @ f4b7aac: 1 failed check(s) == CodeQL (failure) -- real |
…alized-local-variable) (Part of #5119) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
No description provided. |
1 similar comment
|
No description provided. |
|
PR #5196 @ 7703777: 2 failed check(s) == db2 3/4 (failure) -- infra == det (failure) -- real |
|
CI shepherd: the head of this PR (e321fd5) is not the one a maintainer labelled |
|
No description provided. |
|
No description provided. |
Part of #5119 (OS/VS COBOL era 1: BLL cells / SERVICE RELOAD). Remainder after #5159 (X56) and #5175 (X58).
What changed
DetCics.setBlockwith that command's key and the oracle calls the same stub entry with the cell. The forms CICS SET(ptr) pointer-lane siblings: RECEIVE, RETRIEVE, READQ TS, GET CONTAINER, READ/READNEXT/READPREV (Part of #5042) #5175 refuses stay refused under the command's own message, and LOAD PROGRAM SET stays refused by name (Siblings of #4771: CICS pointer lane (SET(ptr) commands, pointer arithmetic, ADDRESS OF subordinate) #5042).One asymmetry found and fixed: det's
parse_execread IBM's own orderREAD UPDATE DATASET(...)(APRM p. 22) as the verb "READ UPDATE" and refused it, while the oracle accepted it. UPDATE after READ / READNEXT / READPREV is now an option, never a second verb word (det/cics.py).MOVE NEXTAREA TO USERPTR. ANYNAME.). Before this PR they were refused.SET ADDRESS OF. Det:CALL 'GGCBLLR', which becomesDetCics.bllReload; a null cell leaves the record as it is (ASSUMED).MOVE cell TO fullword/MOVE fullword TO cellbecomeCALL 'GGCBLLP'/'GGCBLLG'.ggcics.candCicsTask.bllToken/bllPointer, viaDetCics.bllToData/bllFromData.ADD 4096to a token) is refused, never followed to a wrong area.RT-CICS-BLL-ADDRESS(cobolrt_rules.json); refusal_map note.Class table
READ UPDATE DATASETrefused by det onlyEvidence
EQUIVALENCE_E2E=1proofs against GnuCOBOL (test_bll_cells_5119.py), each proven, SEND TEXT as hand-traced:MOVE NEXTAREA TO USERPTRand the paragraph WALK →THRE TWO ONEQUEUED-ITEM1 12tests/cics_crucible/test_bll_tokens_5119.py, 10 cases incl. the refusals).pr_gates --fast6/6 PASS,pr_gates --ratchets8/8 PASS (0 skipped), via heavy-run with JDK 17.det_port.py check: no port's translated service changed. 98 of 112 ports differ only in the shared runtime files: additiveDetCics(+28 lines) andCicsTask(+35 lines) methods that none of them calls. No re-sweep was run: those methods are new and no existing port calls them, so behaviour can't move. No golden master: nothing in the engine or parser changed.Cross-repo
None.
🤖 Generated with Claude Code
CodeQL fix (shepherd round)
CodeQL
py/uninitialized-local-variableflaggedthroughinbll.py(assigned only insideif cells is not None:, read under a second such guard). It is now initialised toset()before the block; behaviour unchanged. Merged origin/main (no conflicts). pr_gates --fast 6/6, --ratchets 8/8, BLL tests 91 passed.Lessons for agents
ifand read under a later separateif: initialise it before the first block, even if the two guards are logically identical.