Repository navigation
det: byte-safe Java literals (#4690) and DISPLAY in record-charset bytes (#4691) - #4696
Merged
Merged
Conversation
… writes record-charset bytes (#4691) jstr emits three-digit octal escapes for 0x00-0x1F and 0x7F-0xFF (no u-escapes: javac translates u000a/u000d before lexing). Sysout (batch forge and standalone) encodes with the record charset instead of UTF-8; equivalence.compare_sysout decodes the port's SYSOUT with the data encoding. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
…bytes_4690.py) ROOT was imported and never used; the F401 noqa goes with it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MQNoe4wPJgr7dbUvs3DG6D
#4660 moved compare_sysout / sysout_lines into equivalence_common.py: equivalence.py takes main's, and #4691's decoding (the Java side's SYSOUT in the data encoding, not UTF-8) is re-applied in equivalence_common.compare_sysout, which a CICS task's DISPLAY log (compare_task_sysout, run with -Dgitgalaxy.data.charset) goes through too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MQNoe4wPJgr7dbUvs3DG6D
squid-protocol
marked this pull request as ready for review
October 8, 2026 19:28
squid-protocol
added a commit
that referenced
this pull request
Oct 8, 2026
oracle_assumptions.md: both register entries kept, C13 (#4668) then C14 (this PR), in the table and the sections. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MQNoe4wPJgr7dbUvs3DG6D
squid-protocol
added a commit
that referenced
this pull request
Oct 8, 2026
…/4681-condition-holes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MQNoe4wPJgr7dbUvs3DG6D
squid-protocol
added a commit
that referenced
this pull request
Oct 8, 2026
…/4675-4676-size-error Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MQNoe4wPJgr7dbUvs3DG6D
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.
Fixes #4690, Fixes #4691. Part of #4270.
Changes
det/gen.py::jstr(the single helper every Java string literal goes through: hex, ALL, VALUE, figurative, INSPECT/STRING args, CICS viaG_jstr): bytes 0x00-0x1F and 0x7F-0xFF now emit as 3-digit octal escapes (\012), never\u000a/\u000d/", which javac translates before lexing. Code points above 0xFF keep\uXXXX(no Java line terminator there).Sysout(incobol_to_java_batch_forge._RUNTIME; charset =-Dgitgalaxy.data.charset, else the target'sdata.record_charset, substituted as{record_charset}) and the standalonecobolrt/standalone/Sysout.java(looks upCobolRecords.charset()reflectively, falls back to ISO-8859-1). Harness:equivalence.compare_sysoutdecodes the port's SYSOUT with the case's data encoding (was UTF-8) - equivalence: CICS proofs compare DISPLAY output and keep low-values apart from spaces (#4635) #4660's CICS DISPLAY compare viagitgalaxy.sysoutshould do the same.?(it was UTF-8 before).Shared functions touched
gen.jstr;_RUNTIME["Sysout"]+BatchForge.sources;standalone/Sysout.java;equivalence.compare_sysout; test helpers_cobol/_java_run(raw=param) and_batch_packagein test_det_programs.py.Evidence
tests/cobol_mainframe/test_det_bytes_4690.py: every byte 0x00-0xFF asMOVE X'hh' TO R+ DISPLAY translates, compiles, and (EQUIVALENCE_E2E=1) output is byte-equal to cobc 3.1.2 -std=ibm in bytes/typed/groups modes. 5 tests fail on origin/main, pass here.det_port.py checkvs origin/main: onlySysout.javachanged (29/68 ports);proof_sweep --det-onlyon those: all PROVED except mortgage-mpmt NOT PROVEN, and "sweep: as expected" (ratchet).pr_gates --fast5/5;--ratchets7 pass, 0 fail, 0 skipped;evidence_report --checkclean.🤖 Generated with Claude Code