Repository navigation
det facade: handleTransaction answers its DTO when RETURN COMMAREA LENGTH is past it (Part of #4270) - #5290
Merged
Conversation
Owner
Author
|
No description provided. |
1 similar comment
Owner
Author
|
No description provided. |
squid-protocol
marked this pull request as ready for review
October 16, 2026 21:59
squid-protocol
enabled auto-merge (squash)
October 16, 2026 22:00
Contributor
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.
Closes #4695. Part of #4270. Follow-up to #4679 / #4694.
Decision
Convert (the layout codec already exists). A det facade's
handleTransaction(both overloads) now answers the program's own DTO when the task's RETURN passed a COMMAREA as bytes (LENGTH past the DTO): the service'swideAnswerundoes the region EBCDIC (DetCics.commareaIn) and reads the bytes through the DTO's staticfromCommarea(#4449), i.e. as the program's own record sees them. The task is untouched:returned(Object.class),returnedBytes(), EIBCALEN and the bytes for the next task are as before, andlastAnswerBytes()is unchanged (the harness pins it).The helper is emitted in the service, only for a program that passes bytes (
Cics.passes_bytes, set wherecommareaOutis emitted), not inDetCics: a DetCics edit moved 103 of 118 ports; this moves 11.Class: a det facade answers the raw RETURN COMMAREA bytes
returned(Dto.class)refuses by name, as before (#5076)Object request)byte[](nothing to read through)handleTransactionoverloadshandleLinkrequestby address)Evidence
det_port.py check: 107/118 ports unchanged; the 11 moved were re-proven withdet_port.py run: carddemo-acctupdate, acctview, acctview-generated, cardlist, cardupdate, cardview, cotrtlic, cotrtupc PROVED (java-facade 0 refused); cbsa-bnk1ccs / tfn / uac DIFFERS as on main (det_sweep_baseline equivalence: cases for the 16 CICS programs that have none (6 estates) #5076; same by-name refusal).tests/cobol_mainframe/test_facade_wide_commarea_4695.py: every facade shape (Object / typed / no own DTO / bytes overload / void / LINK / program that passes no bytes) and, under javac, the realwideAnswer+commareaIn(text, spaces, LOW-VALUES, non-text bytes, exactly / past the record, no layout, short).answered()accepts a DTO answer for a byte[] RETURN only when it equals the bytes read through the same layout in the port's page; no other case loosened.pr_gates --fast6/6,--ratchets8/8 (ports, port-surface, fact-crosscheck, completeness, ground-truth, ...). Golden masters not re-blessed: no parsing change (not re-run).Cross-repo
None.
Sibling gaps
returned(Object.class)as a byte[];cobol_to_java_transaction_forge.pyis owned by another in-flight worker and CicsTask has no page charset: different mechanism. Burned program needing it: none of the det ports; model-written CardDemo ports.passes_bytesis per program). No burned program known.Not done
🤖 Generated with Claude Code