Skip to content

runtime options: judge CICS region / program-definition values for syntax (Part of #4707) - #6192

Merged
squid-protocol merged 1 commit into
mainfrom
churn/4707-20261023T0814Z
Oct 23, 2026
Merged

squid-protocol merged 1 commit into
mainfrom
churn/4707-20261023T0814Z

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Part of #4707 (CICS slice; follows #6182).

What

CICS_OPTIONS in gitgalaxy/core/runtime_options.py judges the CICS region and program-definition values for syntax, same pattern as LE_OPTIONS / DB2_OPTIONS: region.LOCALCCSID (1-5 digits, not zero), region.DB2CONN (YES/NO), region.CICS_TS (release number), program_definition.CONCURRENCY (QUASIRENT/THREADSAFE/REQUIRED), program_definition.EXECKEY (USER/CICS). A value outside the syntax is refused by name, once; a well-formed one keeps its outcome (LOCALCCSID 37/1140 honoured, other CCSID declared).
runtime_effect now reports "refused" for a recorded-only row whose value is not its syntax (it returned "no effect" before the check ran).
Register C18 gains the rendered table; tests mirror the Db2 set.

Facts checked

  • Every recorded cell in the six burned estates (037, YES, 4.2, THREADSAFE) is well-formed: test over all estate option files; no cell moves. No parsing code touched, so no golden re-bless.
  • audit_check.py: ruff/format, mypy, dead-key, ast-accuracy all clear. test_runtime_option_table.py: 253 passed.

Sibling gaps

  • cics.translator.options already judged per token; cics.convention.* are conventions, not option values. No burned program needs any further CICS option row.

Lessons for agents

  • runtime_effect short-circuited on policy None, so a syntax-judged recorded-only row could never read "refused"; check the row's hits first.

Cross-repo: none.

🤖 Generated with Claude Code

…ntax (Part of #4707)

LOCALCCSID, DB2CONN, CICS_TS, CONCURRENCY and EXECKEY are checked against what IBM accepts; a value outside it is refused
by name, once, instead of being declared as a code page. runtime_effect now reports a recorded-only row as refused when
its value is not that row's syntax. No burned estate cell moves.

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 23, 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 23, 2026 08:24
@squid-protocol
squid-protocol enabled auto-merge (squash) October 23, 2026 08:26
@github-actions

Copy link
Copy Markdown
Contributor

🐦‍⬛ Muninn Security Scan

✅ No security issues found.

🐦‍⬛ Powered by Muninn · Skald Lab

@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

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