Skip to content

equivalence: GenApp lgapvs01 and lgupvs01 error paths with LGSTSQ and injected RESPs (Part of #5252) - #5403

Merged
squid-protocol merged 3 commits into
mainfrom
churn/5252-20261018T0253Z
Oct 18, 2026
Merged

squid-protocol merged 3 commits into
mainfrom
churn/5252-20261018T0253Z

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Part of #5252 (follow-up to #5324).

What

lgapvs01 and lgupvs01 never ASSIGN STARTCODE, so the issue's D-path premise does not apply to them. Their uncovered branches were the WRITE-ERROR-MESSAGE paths, which the case notes called refused. As in #5324, each case now lists LGSTSQ in programs (X6) and has a region, with these scenarios:

  • lgapvs01: duplicate key (DUPREC), WRITE NOSPACE, WRITE IOERR.
  • lgupvs01: NOTFND on READ UPDATE, READ IOERR, REWRITE IOERR, REWRITE NOSPACE.

Evidence (levels, not "proven")

  • Translated: det port whole, lgapvs01 73/73 and lgupvs01 81/81, no holes.
  • Executed-equivalent against GnuCOBOL with the stub: lgapvs01 11 scenarios and lgupvs01 10, no diffs; the lgapvs01 model port is also equal on all 11.
  • Paragraphs 3/3 in both (was 2/3). Branches stay 5/9: the 4 uncovered are the IF EIBCALEN arms in WRITE-ERROR-MESSAGE.
  • Why not covered: these programs' ERROR-MSG is 101 bytes, longer than LGSTSQ's 95-byte WRITE-MSG, so X6 refuses the WRITEQ TD at the first LINK, before those IFs. A short-commarea scenario would stop at the same refusal, so none is stated. Closing it needs X6 to model LENGTH > FROM (oracle change, not done).
  • Oracle is GnuCOBOL plus our stub, not z/OS.

Class

GenApp lg*vs01 programs whose uncovered branches are the error paths. Handled here: lgapvs01, lgupvs01. Done in #5324: lgacvs01, lgdpvs01, lgucvs01, lgicvs01 (D path).

Gates

pr_gates --fast 6/6 and --ratchets 8/8 (ports, port-surface, fact-crosscheck, completeness, ground-truth, time, estate, cics-spec); test_evidence.py and test_det_coverage_ledger.py pass. No engine code changed, so no golden bless. The lgapvs01 evidence.json is re-proved (unapproved, as the tool writes it).

🤖 Generated with Claude Code

… and injected RESPs (Part of #5252)

Neither program ASSIGNs STARTCODE, so there is no D path to add. Their uncovered
branches were the WRITE-ERROR-MESSAGE paths the case notes called refused; as in
#5324 the case now runs LGSTSQ in the same task (X6) with DUPREC, NOSPACE, IOERR
(lgapvs01) and NOTFND, READ IOERR, REWRITE IOERR / NOSPACE (lgupvs01). The four
EIBCALEN branches stay uncovered: the 101-byte ERROR-MSG exceeds LGSTSQ's WRITE-MSG,
which X6 refuses at the first LINK. Coverage ledgers and lgapvs01 evidence re-proved.

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 18, 2026
@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

@squid-protocol

Copy link
Copy Markdown
Owner Author

PR #5403 @ 1a7730f: 2 failed check(s)

== full-suite (failure) -- real
https://github.com/squid-protocol/gitgalaxy/actions/runs/39092372268/job/117572605251
repro: python -m pytest -q tests
errors:
##[error]Process completed with exit code 1.
log tail:
Hosted Compute Agent
Version: 20261012.601
Commit: f3dc54e1fb89da6852db922499a0233137369e1d
Build Date: 2026-10-12T17:48:21Z
Worker ID: {35ef4e24-1705-493a-b805-e496b8fdb490}
Region: westus3
Cloud: Azure
##[endgroup]
##[group]Operating System
Ubuntu
24.04.5
LTS
##[endgroup]
##[group]Runner Image
Image: ubuntu-24.04
Version: 20261012.334.1
Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20261012.334/images/ubuntu/Ubuntu2404-Readme.md
Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20261012.334
##[endgroup]
##[group]GITHUB_TOKEN Permissions
Contents: read
Metadata: read
##[endgroup]
Secret source: Actions
Cache mode: write
Prepare workflow directory
Prepare all required actions
Complete job name: full-suite
##[group]Run echo "full-suite parts: $PARTS (tested-tree skip: $SKIP)"
echo "full-suite parts: $PARTS (tested-tree skip: $SKIP)"
# #4935: "skipped" is a pass only when the gate proved this tree green on the PR; otherwise it is a failure
test "$PARTS" = "success" || { test "$PARTS" = "skipped" && test "$SKIP" = "true"; }
shell: /usr/bin/bash -e {0}
env:
PARTS: failure
SKIP:
##[endgroup]
full-suite parts: failure (tested-tree skip: )
##[error]Process completed with exit code 1.
Cleaning up orphan processes

== full-suite part 2/3 (failure) -- real
https://github.com/squid-protocol/gitgalaxy/actions/runs/39092372268/job/117571640842
repro: python -m pytest -q tests/tools/test_evidence_report.py::test_a_linked_program_never_inherits_the_cases_coverage_and_its_ledger_verdict_is_stale
failing tests: tests/tools/test_evidence_report.py::test_a_linked_program_never_inherits_the_cases_coverage_and_its_ledger_verdict_is_stale
errors:
fail-on-cache-miss: false
E AssertionError: assert ('genapp-lgap...ked', 'equal') == ('genapp-lgac...ked', 'equal')
tests/tools/test_evidence_report.py:515: AssertionError
FAILED tests/tools/test_evidence_report.py::test_a_linked_program_never_inherits_the_cases_coverage_and_its_ledger_verdict_is_stale - AssertionError: assert ('genapp-lgap...ked', 'equal') == ('genapp-lgac...ked', 'equal')
##[error]Process completed with exit code 1.
log tail:
env:
PYTHONUTF8: 1
GITGALAXY_LICENSE_KEY: COMMUNITY_FREE_TIER
OMP_NUM_THREADS: 1
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
PYTEST_ADDOPTS: --ignore=tests/cobol_mainframe
##[endgroup]
With the provided path, there will be 1 file uploaded
Artifact name is valid!
Root directory input is valid!
Uploading artifact: test-times-part-2.zip
Beginning upload of artifact content to blob storage
Uploaded bytes 172179
Finished uploading artifact content to blob storage!
SHA256 digest of uploaded artifact is ea554f2290f5e4ab81b9e7fc90edf12fcecbdc403525a7a2a9b2c977db63f1bf
Finalizing artifact upload
Artifact test-times-part-2 successfully finalized. Artifact ID 12123680796
Artifact test-times-part-2 has been successfully uploaded! Final size is 172179 bytes. Artifact ID is 12123680796
Artifact download URL: https://github.com/squid-protocol/gitgalaxy/actions/runs/39092372268/artifacts/12123680796
Post job cleanup.
[command]/usr/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/work/_temp/bd263b28-bed5-404e-8592-6c6cd1a56735' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/bin/git config --global --add safe.directory /home/runner/work/gitgalaxy/gitgalaxy
Removing SSH command configuration
[command]/usr/bin/git config --local --name-only --get-regexp core.sshCommand
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
Removing HTTP extra header
[command]/usr/bin/git config --local --name-only --get-regexp http.https://github.com/.extraheader
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http.https://github.com/.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
Removing includeIf entries pointing to credentials config files
[command]/usr/bin/git config --local --name-only --get-regexp ^includeIf.gitdir:
[command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
Cleaning up orphan processes

@squid-protocol squid-protocol added the shepherd:needs-fix Bot: a real failure on this head; see the digest comment. Guide: docs/ci.md label Oct 18, 2026
squid-protocol and others added 2 commits October 18, 2026 00:41
… now that lgapvs01 proves its LINK (Part of #5252)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@squid-protocol squid-protocol removed the shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md label Oct 18, 2026
@squid-protocol

Copy link
Copy Markdown
Owner Author

CI shepherd: the head of this PR (2323be0) 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:needs-fix Bot: a real failure on this head; see the digest comment. Guide: docs/ci.md shepherd:reapprove Bot: new commits dropped shepherd:merge; re-add it to merge this head. Guide: docs/ci.md labels Oct 18, 2026
@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

@squid-protocol
squid-protocol merged commit 3087f8e into main Oct 18, 2026
31 of 32 checks passed
@squid-protocol
squid-protocol deleted the churn/5252-20261018T0253Z branch October 18, 2026 04:59
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