Skip to content

CBSTM03A: coverage line map reads the staged text, 0/46 -> 34/46 branches (Part of #6072) - #6594

Merged
squid-shepherd[bot] merged 3 commits into
mainfrom
churn/6072-cbstm03a-line-map
Oct 25, 2026
Merged

squid-shepherd[bot] merged 3 commits into
mainfrom
churn/6072-cbstm03a-line-map

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Part of #6072. Code + tests only, no case data.

Root cause

equivalence.cobol_coverage built its line map from compile_options(case, source) and swapped in the staged src/PROGRAM.cbl only for Db2 and BMP cases. The CBSTM03A PSA -> TCB -> TIOT lowering (equivalence_mvs.lower, register A2) adds 6 lines before the first IF, so every trace line was off and 0/46 outcomes matched.

Change

cobol_coverage now always reads the staged text the oracle compiled (every harness rewrite is covered, not just the three it named). Test: test_a_case_run_reads_branches_against_the_staged_text_not_the_original.

Class / Sibling gaps

Class: a harness rewrite that moves lines between the original and what runs, so the coverage line map misses. Members: Db2 precompile (handled before), IMS BMP rewrite (handled before), MVS lowering (this PR, the only mvs_step case is CBSTM03A). Sibling gaps: none: every member handled.

Evidence

equivalence.py run carddemo-cbstm03a: before 25/25 paragraphs, 0/46 branches; after 25/25, 34/46 branches. Open (scenario gaps, data slice): 287 false, 298 OTHER, 318 false, 353/379/403 OTHER, 748 false, 837 OTHER, 862/879/895/911 false.
Gates: pr_gates --fast 7/7, --ratchets 9/9; tree-wide guards 243 passed.

Remaining slices

The det-sweep ledger det_sweep_coverage/carddemo-cbstm03a.json still says 0/46; it refreshes in the data slice (ladder_refresh.py carddemo-cbstm03a) with the new scenarios.

Checklist: partial [c:bbdf83af] -- CBSTM03A 12 branch outcomes need scenarios/infeasible entries (data slice)

🤖 Generated with Claude Code

…A 0/46 -> 34/46 (Part of #6072)

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 25, 2026
@squid-shepherd

Copy link
Copy Markdown
Contributor

No description provided.

@squid-shepherd
squid-shepherd Bot marked this pull request as ready for review October 25, 2026 05:05
@squid-shepherd
squid-shepherd Bot enabled auto-merge (squash) October 25, 2026 05:24
@squid-shepherd

Copy link
Copy Markdown
Contributor

PR #6594 @ ed6f095: 1 failed check(s)

== det (failure) -- real
https://github.com/squid-protocol/gitgalaxy/actions/runs/40164272633/job/121089956044
repro: tests/tools/box/heavy-run.sh python tests/tools/proof_sweep.py --det-only --skip-db2 --cases genapp-lgsetup,mortgage-csmrt,mortgage-mpmt --work /tmp/gitgalaxy-scratch/ci-digest/sweep
det cases not proven: genapp-lgsetup,mortgage-csmrt,mortgage-mpmt
errors:
det genapp-lgsetup NOT PROVEN not proven; 2 scenarios cover 1/1 paragraphs and 2/2 branches
det mortgage-csmrt NOT PROVEN proven on 5 scenarios, covering 1/1 paragraphs and 1/2 branches
det mortgage-mpmt NOT PROVEN not proven; 11 calls cover 4/4 paragraphs and 12/12 branches
##[error]Process completed with exit code 1.
log tail:
compression-level: 6
overwrite: false
include-hidden-files: false
archive: true
env:
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
##[endgroup]
With the provided path, there will be 175 files uploaded
Artifact name is valid!
Root directory input is valid!
Uploading artifact: det-sweep-ledger.zip
Beginning upload of artifact content to blob storage
Uploaded bytes 152576
Finished uploading artifact content to blob storage!
SHA256 digest of uploaded artifact is f23c119ba80f6a573ae7455f702d2872e623dc461ff2c1555c06f6dd4345376c
Finalizing artifact upload
Artifact det-sweep-ledger successfully finalized. Artifact ID 12588438778
Artifact det-sweep-ledger has been successfully uploaded! Final size is 152576 bytes. Artifact ID is 12588438778
Artifact download URL: https://github.com/squid-protocol/gitgalaxy/actions/runs/40164272633/artifacts/12588438778
Post job cleanup.
[command]/usr/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/work/_temp/c8f9ac68-8132-4be7-a4cb-5f2e9fa95e84' 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-shepherd squid-shepherd Bot added the shepherd:needs-fix Bot: a real failure on this head; see the digest comment. Guide: docs/ci.md label Oct 25, 2026
@squid-shepherd squid-shepherd Bot removed the shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md label Oct 25, 2026
@squid-shepherd

Copy link
Copy Markdown
Contributor

CI shepherd: the head of this PR (4f621b1) 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-shepherd
squid-shepherd Bot disabled auto-merge October 25, 2026 06:42
@squid-shepherd squid-shepherd Bot added shepherd:reapprove Bot: new commits dropped shepherd:merge; re-add it to merge this head. Guide: docs/ci.md and removed shepherd:needs-fix Bot: a real failure on this head; see the digest comment. Guide: docs/ci.md labels Oct 25, 2026
@squid-protocol squid-protocol added 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 25, 2026
@squid-shepherd

Copy link
Copy Markdown
Contributor

No description provided.

@squid-shepherd
squid-shepherd Bot enabled auto-merge (squash) October 25, 2026 06:46
@squid-shepherd

Copy link
Copy Markdown
Contributor

No description provided.

@squid-shepherd
squid-shepherd Bot merged commit 3e2b565 into main Oct 25, 2026
43 checks passed
@squid-shepherd
squid-shepherd Bot deleted the churn/6072-cbstm03a-line-map branch October 25, 2026 07:14
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