Repository navigation
equivalence: cases for CICS programs with none in the burned estates (Part of #5076) - #5087
Merged
Merged
Conversation
…OF a table element; mapsets and LE models for the case (Part of #5076) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…d the case's maps (Part of #5076) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…coverage ledger for zecs-ecs001 (Part of #5076) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
6 of 7 tasks
Owner
Author
|
No description provided. |
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 #5076.
Equivalence cases for the CICS programs in the burned estates that had none. Burned estates only (the 8 non-burned ones are left untouched, as the issue says).
The 16 programs
det_sweep_baseline.json(#5076)RETURN ... LENGTH(29)over a 28-byte area, facade refuses by name. BaselineACCOUNTD OCCURS 10), refused by name by the screen compare (#4778)CICS file ZCEXPIRE: no IDCAMS DEFINE for @ECS_HLQ@.ZCEXPIRE.@ENVIRONMENT@(variable-length KSDS with install symbols) stops the COBOL side before any scenarioRUN TRANSID in a RUN TRANSID child task (a grandchild): not modelledproof_blockers on origin/main (cfd0c3e): 103 whole, 53 proven. With this branch: 54 proven; BNK1CCS / BNK1TFN / BNK1UAC / ZECS003 now show
known unproven: #5076instead ofno case; BNK1CCA, ZECS000, ASYNCPNT stillno case.Class and the same-mechanism members
Class: a burned-estate CICS program translated whole with no
tests/equivalence/<case>/case.json. The five programs whose only gap was the case (BNK1CCA, BNK1CCS, BNK1TFN, BNK1UAC, ECS001) were taken first, then the three that also carry a fact gap. Three of the eight could not get a runnable case (rows 6-8); each names its refusal.What changed
tests/equivalence/{cbsa-bnk1uac,cbsa-bnk1tfn,cbsa-bnk1ccs,zecs-ecs001,zecs-zecs003}/: case, NOTICE, LICENSE, data copied from the sibling case that already owns the LINKed programs. Scenarios cover the whole input class of each screen (every AID, MAPFAIL, each validation message, every title spelling BNK1CCS accepts, every program-defined status of the LINKed service, the documented HTTP outcomes for ECS001 / ZECS003). Values are binary-exact where a COMP-1 / COMP-2 is involved (C6): a COMP-2 holding 9999999999.99 differs COBOL / Java and was left out, not declared away.LENGTH OF TERM-LINES(1)gave the whole table (1920) instead of one element (80); the Java walked off its byte[1920]. Fixed indet/gen.py(both generators);test_det_length_of_element_5076.pycovers element, group and PERFORM VARYING shapes.det_port.py check: 105 of 110 ports unchanged, the 5 new ones NEW.mapsbecomes$GGCICS_MAPSETS(X31; BNK1CCS's CLEAR sends the mapset's name as a map: ABM0), and the LE models are linked when a LINKed program (BNK1CCS -> CRECUST) CALLs CEE*. Register X31 updated; test intest_equivalence_cics.py.det_sweep_baseline.json: four entries (equivalence: cases for the 16 CICS programs that have none (6 estates) #5076) with their true causes (the file overlaps CEEDAYS: numeric date pictures, only a blank picture tail assumed ignored (L1); CRECUST FC is 12 bytes (L4) (Part of #4952) #5064, which edits the same file: small, additive).det_sweep_coverage/zecs-ecs001.jsonfrom the sweep.Evidence
det_port.py runper case (COBOL via GnuCOBOL in Docker, port via JDK 17, faults auto incl. SQL faults): runTask-side outputs equal on every scenario of every case; the only non-equal outputs were the facade refusals above and ZECS003's Java Hole.proof_sweep.py --det-only --cases ...:1/5 proven;det_coverage_ledger.py check: as expected.pr_gates.py --fast: 6/6 pass.pr_gates.py --ratchets: 7 pass, 0 fail, 0 skipped. 634 unit tests in test_equivalence_cics / test_det_translate / test_proof_blockers / new test: pass (4 skipped: Docker/NIST env gates of those tests).Not done / Sibling gaps
proof_blockersreportsfact: EIBFNfor ZECS000 / ZECS003 from the text'EIBFN: 'in a FILE-ERROR record literal, not a read of the field.Cross-repo: none; no companion PRs. Merge order: #5064 first (shared
det_sweep_baseline.json), then this; re-rundet_port.py checkafter.🤖 Generated with Claude Code