Skip to content

det: byte-safe Java literals (#4690) and DISPLAY in record-charset bytes (#4691) - #4696

Merged
squid-protocol merged 5 commits into
mainfrom
fix/4690-4691-byte-literals-display
Oct 8, 2026
Merged

squid-protocol merged 5 commits into
mainfrom
fix/4690-4691-byte-literals-display

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Fixes #4690, Fixes #4691. Part of #4270.

Changes

Shared functions touched

gen.jstr; _RUNTIME["Sysout"] + BatchForge.sources; standalone/Sysout.java; equivalence.compare_sysout; test helpers _cobol/_java_run (raw= param) and _batch_package in test_det_programs.py.

Evidence

  • New tests/cobol_mainframe/test_det_bytes_4690.py: every byte 0x00-0xFF as MOVE 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.
  • test_det_programs/translate/equivalence/faults/time_zones/sysout_attrs: 411 passed (E2E on).
  • det_port.py check vs origin/main: only Sysout.java changed (29/68 ports); proof_sweep --det-only on those: all PROVED except mortgage-mpmt NOT PROVEN, and "sweep: as expected" (ratchet).
  • pr_gates --fast 5/5; --ratchets 7 pass, 0 fail, 0 skipped; evidence_report --check clean.

🤖 Generated with Claude Code

… 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>
Comment thread tests/cobol_mainframe/test_det_bytes_4690.py Fixed
@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

🐦‍⬛ Muninn Security Scan

✅ No security issues found.

🐦‍⬛ Powered by Muninn · Skald Lab

squid-protocol and others added 4 commits October 8, 2026 11:08
…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
squid-protocol marked this pull request as ready for review October 8, 2026 19:28
@squid-protocol
squid-protocol merged commit 7c53557 into main Oct 8, 2026
37 checks passed
@squid-protocol
squid-protocol deleted the fix/4690-4691-byte-literals-display branch 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants