Repository navigation
det: ZECS001 pointer-hole guard runs with the CICS lane on, refusals pinned by reason (Part of #4771) - #5497
Merged
Merged
Conversation
…ns each refusal by reason (Part of #4771) The corpus test translated ZECS001 with a stub that has no runTask(CicsTask), so every pointer statement was the generic "SET ADDRESS OF (pointers)" hole, which the test listed as named. It now uses the forge's stub, fails on the generic hole, and pins the lines per refusal reason. 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 16:30
squid-protocol
enabled auto-merge (squash)
October 18, 2026 16:30
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 #4771. Checklist: done [c:2998b586]
What
test_every_pointer_hole_left_in_zecs001_is_refused_by_name(#5395) passed, but it translated ZECS001 with a stub that has norunTask(CicsTask). That turns the CICS lane off, so every pointer statement became the genericSET ADDRESS OF (pointers)hole, and the test listed that text as "named". Its filter also missed holes whose text says lowercase "pointer".Now the test uses the forge's stub, fails on the generic hole, and pins each refusal by reason (2026-10-18: 561 statements, 543 translated, 18 holes):
SET ADDRESS OFan overlaid pointer: 1110, 1134, 1198, 1487, 1850. The same refusal also reaches the EXEC CICS GETMAIN / WEB RECEIVE / FREEMAIN statements that name CACHE-ADDRESS / SAVE-ADDRESS (a superset check).X47.md notes the stub and the counts. No engine code changed, so no golden, snapshot or ledger moves.
Class table (corpus guard that accepts a generic hole as named)
Gates
pr_gates --fast6/6,--ratchets8/8, tree-wide guards + proof_blockers + time ratchet (0 over),ruff formatwith 0.16.10. Local ruff in the shared venv is 0.16.0 (pr_gates used the cached 0.16.10).Lessons for agents
A test that translates a CICS program must give the stub a
runTask(CicsTask), orself.cics is Noneand every CICS-lane refusal collapses into a generic hole text.🤖 Generated with Claude Code