Skip to content

det: JSON GENERATE takes COMP-1 items per IBM's -9.9(8)E+99 (Part of #7524) - #7947

Open
squid-protocol wants to merge 3 commits into
mainfrom
churn/7524-20261106T2132Z
Open

squid-protocol wants to merge 3 commits into
mainfrom
churn/7524-20261106T2132Z

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

What

JSON GENERATE now translates a COMP-1 item of the source group. IBM (JSON GENERATE, "Format conversion of elementary data", https://www.ibm.com/docs/SS6SG3_6.3.0/lr/ref/rlpsjsogc.html) converts it as if moved to PICTURE -9.9(8)E+99, then trims: 1.50000000E+00, -1.50000000E-05. COMP-2 is refused by name: IBM states its own picture -9.9(17)E+99 is illegal.

Assumptions (register X76, oracle-unbacked, no L2+ claim): mantissa rounded half away from zero (as the existing RT-HFP-DISPLAY assumption); zero is a runtime Hole (IBM's trimming of 0.00000000E+00 is not stated); only the value is read, never the bytes (C6). JSON PARSE refuses floats.

Class sweep

Class: JSON GENERATE source shapes IBM defines that the det translator holes. Done here: COMP-1.
Sibling gaps (no burned-estate program uses any JSON statement, so none is needed by one): elementary source (IBM pages show no output form), COMP-2 (IBM picture illegal), ODO table inside a table (IBM silent), CONVERTING, JSON PARSE floats / tables / elementary target.

Tests / gates

test_det_json_generate.py (translation of COMP-1, COMP-2 refusal, runtime text for +/-/fraction/rounding/zero/COMP-2 on a real JDK run), test_cobolrt_rules.py, test_cobolrt_api.py, the det/hfp/translate cobol_mainframe tests, audit_check.py: all pass. pr_gates --fast: only failure was the rules catalogue (fixed here). No ported program reads a float in a JSON statement, so no port moves.

Cross-repo: none. Overlaps open #7938 (NAME OMITTED: same JsonGenerate.java / gen.py / test / X76.md); merge order: #7938 first, rebase this after.

Remaining slices of [c:bb8e1760]: #7938 (NAME OMITTED), then the siblings above.

Checklist: partial [c:bb8e1760] -- NAME OMITTED (#7938); elementary source, ODO inside a table, floats beyond COMP-1 unspecified by IBM

🤖 Generated with Claude Code

@squid-protocol squid-protocol added the shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md label Nov 6, 2026
@squid-shepherd

squid-shepherd Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@squid-shepherd
squid-shepherd Bot marked this pull request as ready for review November 6, 2026 22:01
@github-actions

github-actions Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

🐦‍⬛ Muninn Security Scan

✅ No security issues found.

🐦‍⬛ Powered by Muninn · Skald Lab

This branch has not been deployed

No deployments
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