Skip to content

equivalence: GenApp VSAM programs' D path and error paths proved (Part of #5252) - #5324

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

squid-protocol merged 2 commits into
mainfrom
churn/5252-20261017T1005Z

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Part of #5252 (pattern: #5251).

What changed

Program Result
lgicvs01 New genapp-lgicvs01-linked (STARTCODE D): 4 scenarios, 7/12 branches, det-port PROVED. INVOKINGPROG arm and empty GENACNTL not exercised.
lgacvs01 +4 scenarios (DUPREC, NOSPACE, IOERR, short COMMAREA): 3/4 branches, PROVED
lgdpvs01 +3 scenarios (NOTFND, IOERR, short COMMAREA): PROVED; branch count stays 0/4
lgucvs01 +5 scenarios (READ NOTFND/IOERR, REWRITE IOERR/NOSPACE, short COMMAREA): 3/4 branches, PROVED

The issue's premise was partly wrong

Only lgicvs01 has a STARTCODE D branch. The other programs' uncovered branches are the WRITE-ERROR-MESSAGE paths, so those cases use programs (LGSTSQ in the same task) plus injected faults and a region (SYSID). Tasks reaching the logger are judged only up to LGSTSQ's second LINK, which X6 refuses by name (104-byte write from a 95-byte WRITE-MSG).

Sibling gaps

  • lgapvs01, lgupvs01 (5/9): same error-path mechanism; need burned GenApp (lgapdb01 / lgupdb01 callers).
  • lgicvs01 INVOKINGPROG arm + empty GENACNTL: needs an EIBCALEN/TS setup not built here; burned GenApp.
  • Calls with no COMMAREA (EIBCALEN 0) in lgacvs01 and siblings: the program reads LINKAGE past EIBCALEN (X23-class), DIFFERS; left out.
  • NOTOPEN / DISABLED faults not injected.

Gates

pr_gates --fast 6/6, --ratchets 8/8, det-port PROVED on all four, coverage ledger check as expected. No golden masters or engine code touched. origin/main merged before push.

Lessons for agents

  • equivalence.py run shows "0/N events equal" and "faults fired differ" for fault scenarios; that is the java-facade mode, not a failure. Use det_port.py run.
  • proof_sweep.py --record-ledger only works with --aggregate; use det_coverage_ledger.py update SWEEP_DIR, and rerun it after any case.json edit (the case fingerprint changes).

🤖 Generated with Claude Code

squid-protocol and others added 2 commits October 17, 2026 06:20
…(lgacvs01, lgdpvs01, lgucvs01) proved (Part of #5252)

lgicvs01-linked takes the real STARTCODE D path. The other three programs have no D path;
their uncovered branches are the WRITE-ERROR-MESSAGE paths, now run with LGSTSQ in the
same task and injected file RESPs (X6). Coverage ledgers recorded.

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 10:21
@squid-protocol
squid-protocol enabled auto-merge (squash) October 17, 2026 10:23
@squid-protocol
squid-protocol merged commit edaeb85 into main Oct 17, 2026
48 checks passed
@squid-protocol
squid-protocol deleted the churn/5252-20261017T1005Z branch October 17, 2026 10:33
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