Skip to content

XCTL of a value field of the LINKed DTO is refused by name (X39, Part of #5060) - #5332

Merged
squid-protocol merged 2 commits into
mainfrom
churn/5060-20261017T1121Z
Oct 17, 2026
Merged

squid-protocol merged 2 commits into
mainfrom
churn/5060-20261017T1121Z

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Part of #5060 (first checkbox: model-port scalar fields).

Class: XCTL of storage a LINK caller owns (X39), model-port path. CicsTask.xctl traced the caller's DTO by reference only; a String/number field passed as the COMMAREA is a value and was not refused.

Change: for a program LINKed with a DTO, a non-null COMMAREA that equals a value held anywhere in the DTO graph (nested groups, tables, lists, map values, primitive/boxed fields) is refused with the existing X39 message. An equal-valued copy is over-refused (cannot be told apart; refuse, never guess). Template-only change in CICS_TASK_JAVA; register X39 "Model ports" updated.

Tests: test_model_link_xctl_4956.py flips name to REFUSED and adds number / nested / table-element / map-value (refused) plus distinct value and null COMMAREA (not refused). Ran with the 4816/4957 XCTL tests (16 passed) and tests/cics_crucible/test_cics_runtimes.py (206 passed).

Not run: det_port.py check (which ports moved), pr_gates, golden bless; mypy missing in this venv.

Sibling gaps: copy vs same storage needs a real z/OS run (stays REFUSED, not churn). No burned-estate program known to need either; not grepped.

Cross-repo: none. Overlaps open PR #5328 on cobol_to_java_transaction_forge.py; origin/main merged in, diff kept small.

Lessons for agents

  • sleep N && cat is blocked; background the run and use Monitor with an until-loop.

🤖 Generated with Claude Code

squid-protocol and others added 2 commits October 17, 2026 07:27
… of #5060)

CicsTask traced the LINK caller's storage by reference, so a String or number DTO
field passed as the XCTL COMMAREA slipped through. A value equal to one the DTO
holds (any depth, primitives included) is now refused with the X39 message; an
equal-valued copy is over-refused (refuse, never guess).

Co-Authored-By: Claude Sonnet 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 17, 2026
@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

@squid-protocol
squid-protocol marked this pull request as ready for review October 17, 2026 11:52
@squid-protocol squid-protocol removed the shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md label Oct 17, 2026
@squid-protocol

Copy link
Copy Markdown
Owner Author

CI shepherd: the head of this PR (fd62b62) 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:reapprove Bot: new commits dropped shepherd:merge; re-add it to merge this head. Guide: docs/ci.md labels Oct 17, 2026
@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

@squid-protocol
squid-protocol enabled auto-merge (squash) October 17, 2026 12:04
@squid-protocol squid-protocol added shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md and removed shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md labels Oct 17, 2026
@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

@github-actions

Copy link
Copy Markdown
Contributor

🐦‍⬛ Muninn Security Scan

✅ No security issues found.

🐦‍⬛ Powered by Muninn · Skald Lab

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