Repository navigation
VSAM lineage: a CALL through a data item with one provable value takes its caller step DDs (Part of #5072) - #5419
Merged
Conversation
…s its caller's step DDs (Part of #5072) A data-item CALL is followed only when the item has a single candidate (VALUE or one MOVE literal) and no MOVE from an unknown item. A VALUE the resolver bound but a MOVE overrides is no longer followed (it over-bound). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Owner
Author
|
No description provided. |
squid-protocol
marked this pull request as ready for review
October 18, 2026 07:05
Owner
Author
|
No description provided. |
squid-protocol
enabled auto-merge (squash)
October 18, 2026 07:07
Contributor
1 of 3 tasks
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 #5072.
What
GalaxyIR.dataset_lineagefollows aCALLthrough a data item (CALL WS-TARGET) into the caller's step DDs, only where the item has one provable value: a single candidate fromdynamic_call_targets()(VALUE or one MOVE literal), no MOVE from an unknown item, and the program is in the repo. Several values, a table, an unknown source or an unresolved program stay unfollowed (refused, as before).Step-level DD scoping, the other unchecked item, had already landed in #5348 (the checkbox was stale).
Same-mechanism fix in this PR: the static path used to follow any CALL the resolver bound through a VALUE even when a MOVE put another value in the item (over-binding). Identifier CALLs now go through the one-provable-value check only.
Class table (callee propagation of DD bindings)
Burned estates: no program needs this (DBB
epscsmrthas no JCL runner and its target is a table; CardDemoCSDB2RPYcalls external DSNTIAC). Sweep scope; no proof moves.Evidence
test_vsam_repositories.py: 34 pass (7 parametrized value classes, step scoping, cycle).pr_gates --fast6/6,--ratchets8/8 (no re-bless needed), time ratchet clean.Cross-repo: none.
🤖 Generated with Claude Code