Discover and propose routing character guards
ProprietaryDiscover variable native CALL and CICS routing targets throughout the input source set. Derive target declarations, program identities, statement locations and COPY snapshots. Reuse the existing bounded local-value and terminal-exit proofs. Propose a character guard only when every established local target value violates the approved policy. Preserve existing response options and handlers. Unknown, mixed and already permitted values remain unchanged. Apply candidates in source order and locate each by syntax identity after earlier insertions. No source paths, program IDs, statement lines, caller hashes or local target field names are required. Policies approve exact characters and rejection behavior. Resource selection, external control, executable resolution and a CWE are not inferred. Application team review remains required.
io. moderne. mainframe. security. ProposeRoutingCharacterGuardsOptional
Strict JSON with version 1 and a rules array. Each rule supplies id, operation, allowedCharacters, approvedExit and contractSource. Operations are CALL, LINK, XCTL, LOAD, START and RETURN. Allowed characters are one to 16 distinct printable strings of equal width with exact case and padding. The reusable approval covers every matching operation and target width in the input source set. Conflicting policies prevent changes. Omit this option to inventory variable routing targets without edits.
mod run . --recipe= io. moderne. mainframe. security. ProposeRoutingCharacterGuardsInstall it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.