Skip to content

det: a packed or binary item compared with a nonnumeric operand is refused, IBM rejects it (C13) (Part of #4702) - #5797

Merged
squid-protocol merged 1 commit into
mainfrom
churn/4702-c13-native-vs-nonnumeric
Oct 21, 2026
Merged

squid-protocol merged 1 commit into
mainfrom
churn/4702-c13-native-vs-nonnumeric

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Checklist: done [c:3d872fbb]

Part of #4702.

What

IBM's numeric / nonnumeric comparison table (Language Reference 6.4, "General relation conditions") has no entry for a packed, binary or COMP-5 item against an alphanumeric, edited or group operand, so IBM rejects the program. The det port compared the item's digits like GnuCOBOL. Gen.digits_as_text now refuses it by name (C13), either way round; EVALUATE / THRU / 88 forms go through the same Gen.cmp path. Floating point was already refused (C6).

Burned-estate evidence (grep before refusing)

det_port.py check against origin/main over all 146 cases of the six burned estates (CardDemo, CBSA, GenApp, zECS, DBB MortgageApplication, cicsdev async credit-card): 146/146 ports unchanged. No burned program compares a packed or binary item with a nonnumeric one, so no golden, ledger or evidence record moves.

Class table (native item vs nonnumeric comparand)

member status
packed, binary, COMP-5 vs alphanumeric / edited / group, both orders refused here, tested
float vs nonnumeric already refused (C6)
signed literal, SIGN SEPARATE, P-scaled, arithmetic expression, edited-equality already refused (C13)

Tests / gates

  • New parametrized refusal test (packed, binary, COMP-5 x alphanumeric, edited, group x both orders) plus a narrowness test (native vs numeric, zoned vs text still translate).
  • EDCMP / GRPCMP lost their packed / binary lines; both re-run against GnuCOBOL in Docker (EQUIVALENCE_E2E=1, 6 passed).
  • register.py --check, test_cobolrt_rules.py, pr_gates --fast (7/7), pr_gates --ratchets (8 pass, 0 skipped).

Cross-repo: none.

Co-Authored-By: Claude Sonnet 5.5 noreply@anthropic.com

🤖 Generated with Claude Code

…fused (C13) (Part of #4702)

IBM's numeric / nonnumeric comparison table has no entry for a native numeric
item, so IBM rejects the program; the port compared its digits like GnuCOBOL.
Refused by name for alphanumeric, numeric-edited and group comparands. No burned
estate moves (det_port check: 146/146 unchanged).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@squid-protocol squid-protocol added the shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md label Oct 20, 2026
@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

@squid-protocol
squid-protocol marked this pull request as ready for review October 20, 2026 23:44
@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

@squid-protocol
squid-protocol enabled auto-merge (squash) October 20, 2026 23:47
@github-actions

Copy link
Copy Markdown
Contributor

🐦‍⬛ Muninn Security Scan

✅ No security issues found.

🐦‍⬛ Powered by Muninn · Skald Lab

@squid-protocol
squid-protocol merged commit f677f48 into main Oct 21, 2026
84 checks passed
@squid-protocol
squid-protocol deleted the churn/4702-c13-native-vs-nonnumeric branch October 21, 2026 00:06
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