Repository navigation
det: JSON GENERATE sets JSON-CODE 1 on a too-small receiver; JSON-CODE is S9(9) BINARY (Part of #7524, #7709) - #7930
squid-protocol wants to merge 5 commits into
Conversation
, #7709) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
No description provided. |
|
No description provided. |
|
No description provided. |
|
PR #7930 @ d8b6b37: 1 failed check(s) == ground-truth part 1/2 (failure) -- real |
|
CI shepherd: the head of this PR (32bb478) is not the one a maintainer labelled |
|
No description provided. |
|
No description provided. |
|
No description provided. |
…518Z # Conflicts: # docs/language_status/cobolrt_api.json # docs/language_status/register/X76.md
|
PR #7930 @ 32bb478: 1 failed check(s) == shard ${{ matrix.group }}/${{ needs.plan.outputs.splits }} (cancelled) -- infra |
|
CI shepherd: the head of this PR (a17b7b4) is not the one a maintainer labelled |
|
No description provided. |
|
No description provided. |
|
No description provided. |
1 similar comment
|
No description provided. |
|
This PR conflicts with main, so no checks ran. Merge origin/main into it and regenerate generated files with their tools (never hand-merge them), then push. |
Part of #7524, #7709.
JSON GENERATE now sets JSON-CODE: 1 when the receiver is too small (the exception condition), 0 otherwise. A program that names JSON-CODE beside ON EXCEPTION used to be refused by name; it now translates, with or without the phrases, with or without COUNT. The hidden JSON-CODE register is IBM's declared S9(9) BINARY (was S9(4)). Modelled from IBM's text only: ASSUMED in register X76, oracle-unbacked, no L2+ claim.
Stacked on #7928 (JSON PARSE sets JSON-CODE; its branch is merged in here). Until it merges, this diff shows its commit too.
cobolrt_api.jsonis regenerated because #7928's newtryParseoverload is missing from the manifest (the full-suite manifest test fails on that branch alone).What changed
det/gen.py:json_generatealways usestryGeneratewhen JSON-CODE is named or a phrase is present, stores 1 / 0, and runs the phrases on the condition. Thejson_code_storerefusal is gone.det/program.py:GG-JSON-CODEisS9(9) BINARY.tests/cobol_mainframe/test_det_json_generate.py: four phrase / COUNT shapes translate and set the code; the width; the stale "refused by name" test is replaced.X76.md,X77.md: register text (X77's "keeps S9(4)" sentence is now false).Class / Sibling gaps
Class: special-register values a JSON statement sets after it runs (JSON-CODE, JSON-STATUS). Done: JSON-CODE for PARSE (#7928) and for GENERATE (this PR), at IBM's width. Siblings, none with a burned-estate program that uses JSON (no burned program does; fixture tests are the only coverage): (1)
GG-JSON-STATUSregister, so the status the runtime already computes for PARSE is stored; (2) JSON-STATUS bits 4 to 512 and its value after an exception; (3) GENERATE SUPPRESS WHEN / EVERY (#7905 in flight); (4) CONVERTING, NAME OMITTED, OCCURS DEPENDING ON, tables for PARSE, float items. The census re-survey needs census clones (rule 2): not done. The code 1 for GENERATE is taken from #7928's reading of Table 107; I could not re-read IBM's page (it renders client side) and no oracle backs it.Remaining slices: the siblings above, in that order.
Checklist: partial [c:9bd1fd57] -- JSON-STATUS register, SUPPRESS WHEN / EVERY, CONVERTING, NAME OMITTED, PARSE tables, float items
Cross-repo: none. Overlaps #7928 (stacked) and #7905 (
gen.py,X76.md,test_det_json_generate.py); whichever merges second merges main in.Verification
test_det_json_generate.py,test_det_json_parse.py,test_det_source_4462.py,test_cobolrt_rules.py: 209 passed (JDK 17).pr_gates --fast: onlytest_cobolrt_apifailed, fixed by the regenerated manifest.--ratchets: 9 pass.audit_check.py: all clear.det_port.py check: 270/270 ports unchanged.Lessons for agents
cobolrtfile also needscobolrt_api.py generate(test_cobolrt_api), not only the rulesmethodslist./srv/storage_16tb/projects/gitgalaxy/venvs/selfscan/bin/python; the pinned ruff binary is under~/.cache/gitgalaxy/ruff-<ver>/bin/ruff.🤖 Generated with Claude Code